]> err.no Git - linux-2.6/commit
SUNRPC: Clean up the sillyrename code
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 14 Jul 2007 19:39:58 +0000 (15:39 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 19 Jul 2007 19:21:39 +0000 (15:21 -0400)
commite4eff1a622edd6ab7b73acd5d8763aa2fa3fee49
tree257d6675733d4af122a77054281e1d7d5062d904
parent4fdc17b2a7f4d9db5b08e0f963d0027f714e4104
SUNRPC: Clean up the sillyrename code

Fix a couple of bugs:
 - Don't rely on the parent dentry still being valid when the call completes.
   Fixes a race with shrink_dcache_for_umount_subtree()

 - Don't remove the file if the filehandle has been labelled as stale.

Fix a couple of inefficiencies
 - Remove the global list of sillyrenamed files. Instead we can cache the
   sillyrename information in the dentry->d_fsdata
 - Move common code from unlink_setup/unlink_done into fs/nfs/unlink.c

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/dir.c
fs/nfs/nfs3proc.c
fs/nfs/nfs4proc.c
fs/nfs/proc.c
fs/nfs/unlink.c
include/linux/nfs_fs.h
include/linux/nfs_xdr.h