]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: do not signal removed dirty file to bluefs log 47065/head
authorIgor Fedotov <igor.fedotov@croit.io>
Tue, 12 Jul 2022 17:16:18 +0000 (20:16 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Tue, 12 Jul 2022 17:30:05 +0000 (20:30 +0300)
Fixes: https://tracker.ceph.com/issues/56533
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
src/os/bluestore/BlueFS.cc

index e8458e4ebdc81a70425aefa11612dd170ce32fd0..38cc5d54179b20c0d7fe03994e26b226a8470120 100644 (file)
@@ -3060,6 +3060,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) {