]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: remove the cap directly when releasing the cap
authorXiubo Li <xiubli@redhat.com>
Tue, 23 Aug 2022 07:53:20 +0000 (15:53 +0800)
committerXiubo Li <xiubli@redhat.com>
Wed, 8 Mar 2023 13:46:05 +0000 (21:46 +0800)
commit9fbde6da076f2d7c8bfde50c3f9e581e967c0df0
tree180830b06ac565a5218572ba5f73e99f23883a8d
parentbb4fdf82530ed6946ae01ef4e29ad2071b56ef09
mds: remove the cap directly when releasing the cap

In case:

           mds                             client
                        - Releases cap and put Inode
  - Increase cap->seq and sends
    revokes req to the client
  - Receives release req and    - Receives & drops the revoke req
    skip removing the cap and
    then eval the CInode and
    issue or revoke caps again.
                                - Receives & drops the caps update
          or revoke req
  - Health warning for client
    isn't responding to
    mclientcaps(revoke)

Fixes: https://tracker.ceph.com/issues/57244
Signed-off-by: Xiubo Li <xiubli@redhat.com>
src/mds/Capability.h
src/mds/Locker.cc