os/bluestore: round old size by min_alloc

Signed-off-by: Joshua Blanch <joshua.blanch@clyso.com>
This commit is contained in:
Joshua Blanch 2026-03-03 19:34:16 +00:00
parent 17f2979774
commit 5962c7e8e9

View File

@ -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);