From: NeilBrown <neilb@cse.unsw.edu.au>

Oops, this lookup_one_len needs the i_sem.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 fs/nfsd/nfs4recover.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN fs/nfsd/nfs4recover.c~nfsd4-lookup_one_len-takes-i_sem fs/nfsd/nfs4recover.c
--- 25/fs/nfsd/nfs4recover.c~nfsd4-lookup_one_len-takes-i_sem	Wed Jul  6 13:08:12 2005
+++ 25-akpm/fs/nfsd/nfs4recover.c	Wed Jul  6 13:08:12 2005
@@ -289,7 +289,9 @@ nfsd4_unlink_clid_dir(char *name, int na
 
 	dprintk("NFSD: nfsd4_unlink_clid_dir. name %.*s\n", namlen, name);
 
+	down(&rec_dir.dentry->d_inode->i_sem);
 	dentry = lookup_one_len(name, rec_dir.dentry, namlen);
+	up(&rec_dir.dentry->d_inode->i_sem);
 	if (IS_ERR(dentry)) {
 		status = PTR_ERR(dentry);
 		return status;
_