ceph: don't let check_caps skip sending responses for revoke msgs
authorXiubo Li <xiubli@redhat.com>
Tue, 27 Jun 2023 23:57:09 +0000 (07:57 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 30 Jun 2023 10:08:55 +0000 (12:08 +0200)
commit257e6172ab36ebbe295a6c9ee9a9dd0fe54c1dc2
treef063bf2f61d99cb7a42777e60fa5468eb41d111b
parentce72d4e0f179340cece90d5b826eb63bbf9fefc0
ceph: don't let check_caps skip sending responses for revoke msgs

If a client sends out a cap update dropping caps with the prior 'seq'
just before an incoming cap revoke request, then the client may drop
the revoke because it believes it's already released the requested
capabilities.

This causes the MDS to wait indefinitely for the client to respond
to the revoke. It's therefore always a good idea to ack the cap
revoke request with the bumped up 'seq'.

Cc: stable@vger.kernel.org
Link: https://tracker.ceph.com/issues/61782
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c