summaryrefslogtreecommitdiff
path: root/fs/nfsd
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2021-06-04 10:12:37 +0000
committerJ. Bruce Fields <bfields@redhat.com>2021-07-06 20:14:41 -0400
commit54185267e1fe476875e649bb18e1c4254c123305 (patch)
tree382fdec7f3c419b7f5eba54d26e0855f7e59c110 /fs/nfsd
parentf47dc2d3013c65631bf8903becc7d88dc9d9966e (diff)
NFSD: Fix error return code in nfsd4_interssc_connect()
'status' has been overwritten to 0 after nfsd4_ssc_setup_dul(), this cause 0 will be return in vfs_kern_mount() error case. Fix to return nfserr_nodev in this error. Fixes: f4e44b393389 ("NFSD: delay unmount source's export after inter-server copy completed.") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4proc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index af48fc8a601f..a0d67ba5ed59 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -1323,6 +1323,7 @@ nfsd4_interssc_connect(struct nl4_server *nss, struct svc_rqst *rqstp,
ss_mnt = vfs_kern_mount(type, SB_KERNMOUNT, dev_name, raw_data);
module_put(type->owner);
if (IS_ERR(ss_mnt)) {
+ status = nfserr_nodev;
if (work)
nfsd4_ssc_cancel_dul_work(nn, work);
goto out_free_devname;