Re: [Call For Testers][VFS] Rename stuff.

Kenneth Preslan (kpreslan@zarniwoop.com)
Tue, 9 Feb 1999 12:34:11 -0600 (EST)


> coda: no rename/rename protection, no is_subdir. Mommy, server will do the
> right thing, certainly it will not screw me up, why would it?
...
> nfs: no checks, no nothing. Fixed.

I think you're missing a big point here. Rename serialization MUST be done
at the server. The semaphore you're taking out protects against two different
processes doing renames at the same time. It doesn't protect against two
different processes on *different machines* renaming at the same time.
Their thinking was: "All the is_subdir() stuff already happens on the server,
so why do it twice?"

I work on GFS (http://gfs.lcse.umn.edu). Shifting the is_subdir() test into
the VFS does nothing for me except make my file system slower.

The VFS layer grabs the rename semaphore, does the is_subdir() check, and
calls my rename() i_op. Then I have to get the GFS inter-machine rename lock
and do the is_subdir() check again. If I don't, I leave myself open to
race conditions.

This patch your proposing doesn't hurt the functionality of any file system.
In that respect it's ok. And the performance hit of walking the dcache to do
the check isn't too bad, but I just wanted to point out what you're doing.

Ken Preslan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/