diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-07-14 18:46:24 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-07-19 16:23:22 -0400 |
commit | e85d7ee42003314652ab3ae2c60e3b8cd793b65f (patch) | |
tree | cecc7d64e483cfce4e45fbb6356806cba67327c7 /fs/nfs/pnfs.c | |
parent | 56b38a1f7c781519eef09c1668a3c97ea911f86b (diff) |
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: | |||
1648 | atomic_dec(&lo->plh_outstanding); | 1648 | atomic_dec(&lo->plh_outstanding); |
1649 | if (IS_ERR(lseg)) { | 1649 | if (IS_ERR(lseg)) { |
1650 | switch(PTR_ERR(lseg)) { | 1650 | switch(PTR_ERR(lseg)) { |
1651 | case -EBUSY: | ||
1651 | case -ERECALLCONFLICT: | 1652 | case -ERECALLCONFLICT: |
1652 | if (time_after(jiffies, giveup)) | 1653 | if (time_after(jiffies, giveup)) |
1653 | lseg = NULL; | 1654 | lseg = NULL; |