Details
-
Technical task
-
Resolution: Fixed
-
Blocker
-
Lustre 2.4.0
-
2.3.60-50-g75ae281
-
6687
Description
Here sys_rename is a trivial program that just calls rename(argv[1], argv[2]) and check for error.
# export MDSCOUNT=2 # llmount.sh # cd /mnt/lustre # find . . ./.lustre # lfs mkdir -i 1 m1 # echo 0 > f0 # echo 1 > m1/f1 # find . . ./f0 ./m1 ./m1/f1 ./.lustre # sys_rename m1/f1 f0 # find . . ./f0 ./m1 ./.lustre # cat f0 0 # rm f0
In the same situation I can get a simple rename or rename-onto an existing directory on MDT0 to return succeess but lose the old dir.
# find . . ./m1 ./.lustre # mkdir d0 # mkdir m1/d1 # touch m1/d1/f1 # find . . ./d0 ./m1 ./m1/d1 ./m1/d1/f1 ./.lustre # sys_rename m1/d1 d0 # find . . ./d0 ./m1 ./.lustre #
Rename onto may require several attempts:
# mkdir d0 # mkdir m1/d1 # touch m1/d1/f0 # find . . ./d0 ./m1 ./m1/d1 ./m1/d1/f0 ./.lustre # sys_rename m1/d1 d0 cannot rename `m1/d1' to `d0': Directory not empty # sys_rename m1/d1 d0 cannot rename `m1/d1' to `d0': Directory not empty # mkdir d2 # # sys_rename m1/d1 d2 cannot rename `m1/d1' to `d2': Directory not empty # sys_rename m1/d1 d2 cannot rename `m1/d1' to `d2': Directory not empty # find . . ./d0 ./d2 ./m1 ./m1/d1 ./m1/d1/f0 ./.lustre # mkdir d3 # sys_rename m1/d1 d3 # find . . ./d0 ./d2 ./m1 ./d3 ./.lustre
Attachments
Issue Links
Activity
Fix Version/s | New: Lustre 2.4.0 [ 10154 ] | |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Assignee | Original: WC Triage [ wc-triage ] | New: Di Wang [ di.wang ] |
Labels | Original: dne | New: LB dne |
Priority | Original: Major [ 3 ] | New: Blocker [ 1 ] |
Parent |
New:
|
|
Severity | Original: 3 [ 10022 ] | |
Issue Type | Original: Bug [ 1 ] | New: Technical task [ 7 ] |
Priority | Original: Minor [ 4 ] | New: Major [ 3 ] |