From: Trond Myklebust Date: Fri, 20 Sep 2019 11:23:42 +0000 (-0400) Subject: NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close X-Git-Tag: v5.4-rc1~40^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=078a432d1c6afc2e70c6c5a0ce8ff29ce2a2e34a;p=thirdparty%2Fkernel%2Flinux.git NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close If the server sends a NFS4ERR_DELAY, then allow the caller to retry. Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 8769422a12f58..6436047dc999a 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1455,6 +1455,10 @@ int pnfs_roc_done(struct rpc_task *task, struct inode *inode, case 0: retval = 0; break; + case -NFS4ERR_DELAY: + /* Let the caller handle the retry */ + *ret = -NFS4ERR_NOMATCHING_LAYOUT; + return 0; case -NFS4ERR_OLD_STATEID: if (!nfs4_layoutreturn_refresh_stateid(&arg->stateid, &arg->range, inode))