]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: do not signal removed dirty file to bluefs log 48168/head
authorIgor Fedotov <igor.fedotov@croit.io>
Tue, 12 Jul 2022 17:16:18 +0000 (20:16 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Mon, 19 Sep 2022 10:59:28 +0000 (13:59 +0300)
Fixes: https://tracker.ceph.com/issues/56533
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(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

index e9c5d7af835ee9f41932c594ab33d749384154cd..30b1d12b380c0aab862e6ba72c63790e8f9db9d3 100644 (file)
@@ -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) {