From: Joshua Blanch Date: Tue, 3 Mar 2026 19:34:16 +0000 (+0000) Subject: os/bluestore: round old size by min_alloc X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5962c7e8e901089703ba9f75fff697c2fea20c76;p=ceph.git os/bluestore: round old size by min_alloc Signed-off-by: Joshua Blanch --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 3144538fd30..3b19b21c618 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -16,6 +16,7 @@ #include "Allocator.h" #include "include/buffer_fwd.h" #include "include/ceph_assert.h" +#include "include/intarith.h" #include "include/stringify.h" #include "common/admin_socket.h" #include "os/bluestore/bluefs_types.h" @@ -936,7 +937,8 @@ void BlueFS::expand_device(unsigned devid, uint64_t new_size, uint64_t old_size) alloc[devid]->expand(new_size); auto aligned_size = p2align(new_size, alloc_size[devid]); - alloc[devid]->init_add_free(old_size, aligned_size - old_size); + auto aligned_old_size = p2roundup(old_size, alloc_size[devid]); + alloc[devid]->init_add_free(aligned_old_size, aligned_size - aligned_old_size); if (vselector) { vselector->expand_device(devid, aligned_size);