From: Xuehan Xu Date: Sun, 29 Sep 2019 04:21:09 +0000 (+0800) Subject: BlueFS: prevent BlueFS::dirty_files from being leaked when syncing metadata X-Git-Tag: v14.2.10~68^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=81555ae7922b9439935e3390c0ef986776384471;p=ceph.git BlueFS: prevent BlueFS::dirty_files from being leaked when syncing metadata Fixes: https://tracker.ceph.com/issues/42091 Signed-off-by: Xuehan Xu (cherry picked from commit f1ae6d9555a1e1b7b61143dd1f867ea7afc2f8c4) --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 0d9680c43de..76e737fc698 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -2748,7 +2748,7 @@ int BlueFS::_preallocate(FileRef f, uint64_t off, uint64_t len) void BlueFS::sync_metadata() { std::unique_lock l(lock); - if (log_t.empty()) { + if (log_t.empty() && dirty_files.empty()) { dout(10) << __func__ << " - no pending log events" << dendl; } else { dout(10) << __func__ << dendl;