From: Igor Fedotov Date: Tue, 12 Jul 2022 17:16:18 +0000 (+0300) Subject: os/bluestore: do not signal removed dirty file to bluefs log X-Git-Tag: v16.2.11~101^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ccf3526b4dfb28e8113f44e26fef4ca370f1b0f1;p=ceph.git 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 --- 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) {