aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/vfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfsd/vfs.c')
-rw-r--r--fs/nfsd/vfs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index c9e3b5a8fe07..443ebc52e382 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1114,7 +1114,7 @@ nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
1114 */ 1114 */
1115 if (!resfhp->fh_dentry) { 1115 if (!resfhp->fh_dentry) {
1116 /* called from nfsd_proc_mkdir, or possibly nfsd3_proc_create */ 1116 /* called from nfsd_proc_mkdir, or possibly nfsd3_proc_create */
1117 fh_lock(fhp); 1117 fh_lock_nested(fhp, I_MUTEX_PARENT);
1118 dchild = lookup_one_len(fname, dentry, flen); 1118 dchild = lookup_one_len(fname, dentry, flen);
1119 err = PTR_ERR(dchild); 1119 err = PTR_ERR(dchild);
1120 if (IS_ERR(dchild)) 1120 if (IS_ERR(dchild))
@@ -1240,7 +1240,7 @@ nfsd_create_v3(struct svc_rqst *rqstp, struct svc_fh *fhp,
1240 err = nfserr_notdir; 1240 err = nfserr_notdir;
1241 if(!dirp->i_op || !dirp->i_op->lookup) 1241 if(!dirp->i_op || !dirp->i_op->lookup)
1242 goto out; 1242 goto out;
1243 fh_lock(fhp); 1243 fh_lock_nested(fhp, I_MUTEX_PARENT);
1244 1244
1245 /* 1245 /*
1246 * Compose the response file handle. 1246 * Compose the response file handle.
@@ -1494,7 +1494,7 @@ nfsd_link(struct svc_rqst *rqstp, struct svc_fh *ffhp,
1494 if (isdotent(name, len)) 1494 if (isdotent(name, len))
1495 goto out; 1495 goto out;
1496 1496
1497 fh_lock(ffhp); 1497 fh_lock_nested(ffhp, I_MUTEX_PARENT);
1498 ddir = ffhp->fh_dentry; 1498 ddir = ffhp->fh_dentry;
1499 dirp = ddir->d_inode; 1499 dirp = ddir->d_inode;
1500 1500
@@ -1644,7 +1644,7 @@ nfsd_unlink(struct svc_rqst *rqstp, struct svc_fh *fhp, int type,
1644 if (err) 1644 if (err)
1645 goto out; 1645 goto out;
1646 1646
1647 fh_lock(fhp); 1647 fh_lock_nested(fhp, I_MUTEX_PARENT);
1648 dentry = fhp->fh_dentry; 1648 dentry = fhp->fh_dentry;
1649 dirp = dentry->d_inode; 1649 dirp = dentry->d_inode;
1650 1650