From ccf3526b4dfb28e8113f44e26fef4ca370f1b0f1 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) Conflicts: src/os/bluestore/BlueFS.cc caused by https://github.com/ceph/ceph/pull/43794 (BlueFS fine grain locking) not present in Pacific --- 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 e9c5d7af835e..30b1d12b380c 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -2694,6 +2694,11 @@ ceph::bufferlist BlueFS::FileWriter::flush_buffer( int BlueFS::_signal_dirty_to_log(FileWriter *h) { + 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 == 0) { -- 2.47.3