diff options
author | Wu Bo <wubo40@huawei.com> | 2020-04-29 05:01:55 +0300 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2020-05-04 20:14:23 +0300 |
commit | 7d8976afad18d4548ee472e526b126ab74012807 (patch) | |
tree | d68ea4bf500c7c264df98b717325086843da1a60 /fs | |
parent | 0fa8263367db9287aa0632f96c1a5f93cc478150 (diff) | |
download | linux-7d8976afad18d4548ee472e526b126ab74012807.tar.xz |
ceph: fix special error code in ceph_try_get_caps()
There are 3 speical error codes: -EAGAIN/-EFBIG/-ESTALE.
After calling try_get_cap_refs, ceph_try_get_caps test for the
-EAGAIN twice. Ensure that it tests for -ESTALE instead.
Signed-off-by: Wu Bo <wubo40@huawei.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ceph/caps.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 185db76300b3..1a8e20ef35bf 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -2749,7 +2749,7 @@ int ceph_try_get_caps(struct inode *inode, int need, int want, ret = try_get_cap_refs(inode, need, want, 0, flags, got); /* three special error codes */ - if (ret == -EAGAIN || ret == -EFBIG || ret == -EAGAIN) + if (ret == -EAGAIN || ret == -EFBIG || ret == -ESTALE) ret = 0; return ret; } |