diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index bb40083b6b7d77af0779beccf961a382b1e71ca9..53abb333732eeac7f53d33705de7fd70367a1902 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -289,7 +289,9 @@ nfsd4_unlink_clid_dir(char *name, int namlen) 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;