Daniel Gryniewicz wrote on Mon, Jan 16, 2017 at 03:24:16PM -0500:
> > sorry for dumping that issue on you but I didn't really investigate and
> > my best guess was that it got something to do with mdcache.
> > Anyhow, it was not in relation with GPFS, I'm using VFS for my local
> > tests.
> > I will see if I can try the same with GPFS.
> 
> No problem, it took me all of 2 minutes to find the line in the log, and 
> where it came from, and I'm glad to help.

Interesting, I had noticed a similar problem with 9p for a while but
never took time to look at the root cause.

Reproducer:
$ mkdir -p a/b/c a/d
$ touch a/b/c/d
$ mv a/b/c a/d
$ rm -rvf a/b
removed directory 'a/b'
$ rm -rvf a
rm: cannot remove 'a/d/c': Directory not empty
$ rm -rvf a
rm: cannot remove 'a/d': Directory not empty
$ rm -rvf a
rm: cannot remove 'a': Directory not empty
$ rm -rvf a
removed 'a/d/c/d'
removed directory 'a/d/c'
removed directory 'a/d'
removed directory 'a'


Looking at the content manually between steps, it seems readdir() from
the 9p client does not list a/d/c/d at all after removing a/b, but it is
here alright just before.
After trying to remove a/d/c, then readdir() of a/d looks empty again as
if the directory had been removed proprerly, but it is still on server
(and rightly returns directory not empty)

I cannot reproduce with NFS even unmounting the filesystem between
operations, but I suspect it is the same bug. This might be easier to
reproduce and investigate.

Hope this helps,
-- 
Dominique

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to