[Bugs] [Bug 1785094] rename dir1 to another existing dir2 cause dir1 glusterfa link file deleted

bugzilla at redhat.com bugzilla at redhat.com
Fri Dec 20 07:52:25 UTC 2019


--- Comment #1 from zhou lin <zz.sh.cynthia at gmail.com> ---
This problem is permanent. From my investigation, for both glusterfs3.12.15 and
glusterfs7.0 the root cause seems to be the posix_rename of glusterfsd side
firstly unlink the glusterfs link (in posix_handle_unset) and then it fails in 
 sys_rename(since the target already exists), then it does not restore the
glusterfs link( file link 1d6febd3-875c-4879-a370-c4828e0052c3 in
.glusterfs/1d/6f directory). I think the correct practice should be either
restore the deleted  glusterfs link file after sys_rename fail or change to
firstly call sys_rename then delete the glusterfs link( I test this and seems
with my code change this problem is gone). 
   I would like your opinion on this issue, this issue is permanent, you can
try in your own env. Thanks!

following is the reproduce steps:
1>      Mkdir dir1 dir2
2>      Touch some files in both dir1 and dir2
3>      Rename dir1 dir2 *  //this will fail with “rename: dir1: rename to dir2
failed: Directory not empty”
4>      Check the glusterfs link file in
.glusterfs/xx/xx/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx this file will disappear
5>      Ls dir1 when dht is enabled in glusterfs3.12 ls command fails to show 
dir1 contents

enclosed is my test patch, with my patch there is no such issue.

You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.

More information about the Bugs mailing list