diff options
author | Xiubo Li <xiubli@redhat.com> | 2022-10-17 17:17:35 +0300 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2022-12-12 21:15:39 +0300 |
commit | 68c62bee9d081cf815310b3a96e38d94fc16007d (patch) | |
tree | 9516c8722d9858c483d4f72fc3f91f2a83031dfd /fs/ceph/caps.c | |
parent | e4b731ccb0975fd97283e0c0d9841a89063ec31a (diff) | |
download | linux-68c62bee9d081cf815310b3a96e38d94fc16007d.tar.xz |
ceph: try to check caps immediately after async creating finishes
We should call the check_caps() again immediately after the async
creating finishes in case the MDS is waiting for caps revocation
to finish.
Link: https://tracker.ceph.com/issues/46904
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/caps.c')
-rw-r--r-- | fs/ceph/caps.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 1323fa28ab01..4b159f97fe7b 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -1916,6 +1916,8 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags) spin_lock(&ci->i_ceph_lock); if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE) { + ci->i_ceph_flags |= CEPH_I_ASYNC_CHECK_CAPS; + /* Don't send messages until we get async create reply */ spin_unlock(&ci->i_ceph_lock); return; |