From 0f0c4821ff6e0500f5b86b5cf8be732edc645c6d Mon Sep 17 00:00:00 2001 From: wanglinke Date: Wed, 27 Mar 2024 17:51:04 +0800 Subject: [PATCH] os/bluestore: fix the problem that estimate the log size incorrectly In BlueFS::_estimate_log_size_N, the total size of the dir was calculated incorrectly. Fixes: https://tracker.ceph.com/issues/65176 co-author: Jrchyang Yu Signed-off-by: Wang Linke (cherry picked from commit 61058bf102f9ed7dbe2e601f5a1243be5149df06) --- 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 666a38b6b29..34251fe3b09 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -2386,7 +2386,7 @@ uint64_t BlueFS::_estimate_log_size_N() int avg_file_size = 12; uint64_t size = 4096 * 2; size += nodes.file_map.size() * (1 + sizeof(bluefs_fnode_t)); - size += nodes.dir_map.size() + (1 + avg_dir_size); + size += nodes.dir_map.size() * (1 + avg_dir_size); size += nodes.file_map.size() * (1 + avg_dir_size + avg_file_size); return round_up_to(size, super.block_size); }