Rob Ross wrote:
I don't consider rmdirent to be a case that we need to highly optimize,
so if it helps to lookup the name and do the getattr beforehand, that's
cool by me. I'm sure somewhere out there there is a rmdir test that
we'll do a little worse on, but whatever.
You'll still have to getattr again after the rmdirent to make sure that
the directory is still empty though, in case someone sneaks in between
the first getattr and the rmdirent and creates something.
The second getattr may not be required. The server state machine that
removes the directory also checks to see if it is empty before it does
anything. At that point (since the entry has already been removed) it
probably doesn't matter whether the client detects the race via an error
code from the remove request or by checking a fresh getattr. The
recovery steps should be the same, and the attempted remove operation
doesn't have any extra cost.
-Phil
_______________________________________________
PVFS2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers