DragonFly BSD
DragonFly commits List (threaded) for 2005-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/sys/kern vfs_syscalls.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 17 Aug 2005 10:30:22 -0700 (PDT)

:...
:the standard differenciates between files (UFS: inode) and directory
:entries.
:
:>     It's simple and straightfoward, not ultra complex.  It is not
:>     rename's responsibility to validate or resolve symlinks, or to
:>     treat hardlinks as a special case.  rename is entirely a namespace
:>     operation.  The only requirements are that it disallow impossible
:>     combinations, such as trying to rename a file over a directory,
:>     or rename a directory into a sub-directory of itself.
:
:As soon as the "new" operand already exists it is not a pure namespace
:operation anymore. What happens if two NFS clients have the directory
:cached, the first issues "mv a b", the second "mv b a"? Are both clients
:issuing remove operations with the new code?
:
:Joerg

    No, they aren't.  Don't forget that all VFS operations have some sort
    of locking.  In the case of DragonFly, the namespace itself is locked
    so a simultanious back-and-forth rename can't happen.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]