NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
[ Upstream commit 14ee45b70dd0d9ae76fb066cd8c0652d657353f6 ] Clean up: The "out" label already invokes fh_drop_write(). Note that fh_drop_write() is already careful not to invoke mnt_drop_write() if either it has already been done or there is nothing to drop. Therefore no change in behavior is expected. [ cel: backported to 5.10.y, prior to idmapped mounts ] Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
304505e2e8
commit
ee0742a93c
@@ -1504,7 +1504,6 @@ do_nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
|
||||
case NFS3_CREATE_GUARDED:
|
||||
err = nfserr_exist;
|
||||
}
|
||||
fh_drop_write(fhp);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -1512,10 +1511,8 @@ do_nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
|
||||
iap->ia_mode &= ~current_umask();
|
||||
|
||||
host_err = vfs_create(dirp, dchild, iap->ia_mode, true);
|
||||
if (host_err < 0) {
|
||||
fh_drop_write(fhp);
|
||||
if (host_err < 0)
|
||||
goto out_nfserr;
|
||||
}
|
||||
if (created)
|
||||
*created = true;
|
||||
|
||||
|
Reference in New Issue
Block a user