From f1ae6d9555a1e1b7b61143dd1f867ea7afc2f8c4 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Sun, 29 Sep 2019 12:21:09 +0800 Subject: [PATCH] BlueFS: prevent BlueFS::dirty_files from being leaked when syncing metadata Fixes: https://tracker.ceph.com/issues/42091 Signed-off-by: Xuehan Xu --- src/os/bluestore/BlueFS.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 9430b654b9b4..2885d144bfee 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -2785,7 +2785,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; -- 2.47.3