From 643123348b5d55783464b537e8da89cad755a2ed Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Tue, 12 Jul 2022 20:16:18 +0300 Subject: [PATCH] os/bluestore: do not signal removed dirty file to bluefs log Fixes: https://tracker.ceph.com/issues/56533 Signed-off-by: Igor Fedotov (cherry picked from commit 576cf8c076b37be978cea06fc5b7348aeffe6829) --- src/os/bluestore/BlueFS.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index cf315e8033c9..6327fd61eb0e 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -3315,6 +3315,11 @@ int BlueFS::_signal_dirty_to_log_D(FileWriter *h) { ceph_assert(ceph_mutex_is_locked(h->lock)); std::lock_guard dl(dirty.lock); + if (h->file->deleted) { + dout(10) << __func__ << " deleted, no-op" << dendl; + return 0; + } + h->file->fnode.mtime = ceph_clock_now(); ceph_assert(h->file->fnode.ino >= 1); if (h->file->dirty_seq <= dirty.seq_stable) { -- 2.47.3