From 4d09ebce0d9c1d3fd910d422f6d772b4793158c4 Mon Sep 17 00:00:00 2001 From: Xiubo Li Date: Tue, 1 Dec 2020 12:22:54 +0800 Subject: [PATCH] mds/CDir: correct the write_size Signed-off-by: Xiubo Li --- src/mds/CDir.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc index 3a734e989ff..c28a3d638d2 100644 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -2249,7 +2249,7 @@ void CDir::_omap_commit_ops(int r, int op_prio, version_t version, bool _new, bu }; for (auto &key : stales) { - write_size += key.length(); + write_size += key.length() + sizeof(__u32); _rm.emplace(key); if (write_size >= max_write_size) @@ -2259,7 +2259,7 @@ void CDir::_omap_commit_ops(int r, int op_prio, version_t version, bool _new, bu for (auto &k : to_remove) { string key; k.encode(key); - write_size += key.length(); + write_size += key.length() + sizeof(__u32); _rm.emplace(std::move(key)); if (write_size >= max_write_size) @@ -2312,7 +2312,7 @@ void CDir::_omap_commit_ops(int r, int op_prio, version_t version, bool _new, bu } off += item.dft_len; - write_size += key.length() + bl.length(); + write_size += key.length() + bl.length() + 2 * sizeof(__u32); _set[std::move(key)].swap(bl); if (write_size >= max_write_size) commit_one(); -- 2.47.3