Skip to content

Commit 8fccda9

Browse files
committed
crimson/os/seastore/rbm: add assert to check if bptr is page-aligned
Signed-off-by: Myoungwon Oh <[email protected]>
1 parent 3bc36d1 commit 8fccda9

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/crimson/os/seastore/random_block_manager/block_rb_manager.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ BlockRBManager::write_ertr::future<> BlockRBManager::write(
132132
bufferptr bptr)
133133
{
134134
ceph_assert(device);
135+
ceph_assert(bptr.is_page_aligned());
135136
rbm_abs_addr addr = convert_paddr_to_abs_addr(paddr);
136137
if (!check_valid_range(addr, bptr)) {
137138
return crimson::ct_error::erange::make();
@@ -146,6 +147,7 @@ BlockRBManager::read_ertr::future<> BlockRBManager::read(
146147
bufferptr &bptr)
147148
{
148149
ceph_assert(device);
150+
ceph_assert(bptr.is_page_aligned());
149151
rbm_abs_addr addr = convert_paddr_to_abs_addr(paddr);
150152
if (!check_valid_range(addr, bptr)) {
151153
return crimson::ct_error::erange::make();

src/test/crimson/seastore/test_randomblock_manager.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,9 @@ struct rbm_test_t :
107107
std::numeric_limits<char>::max()
108108
);
109109
char contents = distribution(generator);
110-
return buffer::ptr(buffer::create(blocks * block_size, contents));
110+
auto bp = bufferptr(ceph::buffer::create_page_aligned(blocks * block_size));
111+
memset(bp.c_str(), contents, bp.length());
112+
return bp;
111113
}
112114

113115
void close() {

0 commit comments

Comments
 (0)