]> www.infradead.org Git - users/hch/configfs.git/commit
ceph: force sending a cap update msg back to MDS for revoke op
authorXiubo Li <xiubli@redhat.com>
Fri, 12 Jul 2024 04:40:19 +0000 (12:40 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 1 Aug 2024 11:14:28 +0000 (13:14 +0200)
commit31634d7597d8c57894b6c98eeefc9e58cf842993
treec67c855918e239e61e4e5bcc45bd2bb8951e240a
parent8400291e289ee6b2bf9779ff1c83a291501f017b
ceph: force sending a cap update msg back to MDS for revoke op

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'.

Currently if the cap->issued equals to the newcaps the check_caps()
will do nothing, we should force flush the caps.

Cc: stable@vger.kernel.org
Link: https://tracker.ceph.com/issues/61782
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/super.h