]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC: r224554
authorrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 14 Aug 2011 00:55:18 +0000 (00:55 +0000)
committerrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 14 Aug 2011 00:55:18 +0000 (00:55 +0000)
commit353c0a95419515c0300e1fa3de96a2d6c53a60d0
tree1ec40e46962661030b61133f7cfe20e92cacc1ad
parent3a5787805d9c3177bb177ea444f197855a94a19b
MFC: r224554
Fix rename in the new NFS server so that it does not require a
recursive vnode lock on the directory for the case where the
new file name is in the same directory as the old one. The patch
handles this as a special case, recognized by the new directory
having the same file handle as the old one and just VREF()s the old
dir vnode for this case, instead of doing a second VFS_FHTOVP() to get it.
This is required so that the server will work for file systems like
msdosfs, that do not support recursive vnode locking.
This problem was discovered during recent testing by pho@
when exporting an msdosfs file system via the new NFS server.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224860 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/nfsserver/nfs_nfsdserv.c