From 6acba40c0d93175ef061b39cc1101f8a516e5196 Mon Sep 17 00:00:00 2001 From: Chencan Date: Tue, 30 Jun 2020 19:30:12 +0800 Subject: [PATCH] mds: do not submit omap_rm_keys if the dir is the basedir of merge. Fixes: https://tracker.ceph.com/issues/46273 Signed-off-by: Chencan (cherry picked from commit d8a6715b0740bebfe7922391868aae2df304db6b) --- src/mds/CDir.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/mds/CDir.cc diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc old mode 100644 new mode 100755 index ead659fcca1c9..fefddf202e7e9 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -2224,10 +2224,11 @@ void CDir::_omap_commit(int op_prio) }; if (state_test(CDir::STATE_FRAGMENTING)) { + assert(committed_version == 0); for (auto p = items.begin(); p != items.end(); ) { CDentry *dn = p->second; ++p; - if (!dn->is_dirty() && dn->get_linkage()->is_null()) + if (dn->get_linkage()->is_null()) continue; write_one(dn); } -- 2.39.5