]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: try to queue a writeback if revoking fails
authorXiubo Li <xiubli@redhat.com>
Wed, 27 Apr 2022 06:14:41 +0000 (14:14 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 18 May 2022 12:07:10 +0000 (14:07 +0200)
commitb49fa388cc7b5c595b4c99b1a0f2743080e7ed6e
treefff5682b6c3993c607f6873af9060eade65cbbeb
parentdd72fa6bd8cdd49b02e832dc58ab65ae09df1fa4
ceph: try to queue a writeback if revoking fails

If the pagecaches writeback just finished and the i_wrbuffer_ref
reaches zero it will try to trigger ceph_check_caps(). But if just
before ceph_check_caps() the i_wrbuffer_ref could be increased
again by mmap/cache write, then the Fwb revoke will fail.

We need to try to queue a writeback in this case instead of
triggering the writeback by BDI's delayed work per 5 seconds.

URL: https://tracker.ceph.com/issues/55377
URL: https://tracker.ceph.com/issues/46904
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Xiubo Li <xiubli@redhat.com>
fs/ceph/caps.c