Commit 7d8976af authored by Wu Bo's avatar Wu Bo Committed by Ilya Dryomov
Browse files

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: default avatarWu Bo <wubo40@huawei.com>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent 0fa82633
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
}