diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-07-15 00:46:24 +0200 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-07-19 22:23:22 +0200 |
commit | e85d7ee42003314652ab3ae2c60e3b8cd793b65f (patch) | |
tree | cecc7d64e483cfce4e45fbb6356806cba67327c7 /fs/nfs/pnfs.c | |
parent | pNFS: Fix post-layoutget error handling in pnfs_update_layout() (diff) | |
download | linux-e85d7ee42003314652ab3ae2c60e3b8cd793b65f.tar.xz linux-e85d7ee42003314652ab3ae2c60e3b8cd793b65f.zip |
pNFS: Separate handling of NFS4ERR_LAYOUTTRYLATER and RECALLCONFLICT
They are not the same error, and need to be handled differently.
Fixes: 183d9e7b112aa ("pnfs: rework LAYOUTGET retry handling")
Cc: stable@vger.kernel.org # 4.7
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Diffstat (limited to 'fs/nfs/pnfs.c')
-rw-r--r-- | fs/nfs/pnfs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 563f131c9abe..c50d4ebab5c5 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1648,6 +1648,7 @@ lookup_again: atomic_dec(&lo->plh_outstanding); if (IS_ERR(lseg)) { switch(PTR_ERR(lseg)) { + case -EBUSY: case -ERECALLCONFLICT: if (time_after(jiffies, giveup)) lseg = NULL; |