]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: just wait the client flushes the snap and dirty buffer 55743/head
authorXiubo Li <xiubli@redhat.com>
Thu, 31 Aug 2023 09:30:44 +0000 (17:30 +0800)
committerXiubo Li <xiubli@redhat.com>
Mon, 26 Feb 2024 02:20:53 +0000 (10:20 +0800)
commit96d542409c47c9abd5cd4e9fee3c83d48f4956cd
treea2b5cdfc67ff25dc93d9e2b48f3349f9ab6ee401
parent50e0525a4706e162384588e54bf8e15aa5060256
mds: just wait the client flushes the snap and dirty buffer

When truncating the inode we will just set the ifile lock state to
LOCK_XLOCKSNAP and then try to revoke the 'Fb' caps, but if the
client couldn't release the 'Fb' cap in time just replies with a
normal cap updating request, the MDS will successfully transfer
the ifile's lock state to LOCK_EXCL, which is stable.

That means the MDS will wake up the truncating request and continue
truncating the objects from Rados without waiting the clients to
flush the diry buffer.

Fixes: commit 9c65920e7f6 ("mds: force client flush snap data before
truncating objects")
Fixes: https://tracker.ceph.com/issues/62580
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit 68179ae21384b70c284026ac2b3dbf9f318e9af7)
src/mds/Locker.cc