]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore/rbm: add assert to check if bptr is page-aligned
authormyoungwon oh <ohmyoungwon@gmail.com>
Mon, 16 Sep 2024 05:25:07 +0000 (05:25 +0000)
committermyoungwon oh <ohmyoungwon@gmail.com>
Mon, 16 Sep 2024 10:43:09 +0000 (10:43 +0000)
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
src/crimson/os/seastore/random_block_manager/block_rb_manager.cc
src/test/crimson/seastore/test_randomblock_manager.cc

index 81a836a7c3e54bdf5f6ea11ee698a814d39daf5a..9f6a566d15cc3fc6ca4a9834e9792323dcfe065b 100644 (file)
@@ -132,6 +132,7 @@ BlockRBManager::write_ertr::future<> BlockRBManager::write(
   bufferptr bptr)
 {
   ceph_assert(device);
+  ceph_assert(bptr.is_page_aligned());
   rbm_abs_addr addr = convert_paddr_to_abs_addr(paddr);
   if (!check_valid_range(addr, bptr)) {
     return crimson::ct_error::erange::make();
@@ -146,6 +147,7 @@ BlockRBManager::read_ertr::future<> BlockRBManager::read(
   bufferptr &bptr)
 {
   ceph_assert(device);
+  ceph_assert(bptr.is_page_aligned());
   rbm_abs_addr addr = convert_paddr_to_abs_addr(paddr);
   if (!check_valid_range(addr, bptr)) {
     return crimson::ct_error::erange::make();
index 26205e16487690902d669c9fab279aa1bf1c9df2..82dc63ce2635599d02a55d624193414d630be20b 100644 (file)
@@ -107,7 +107,9 @@ struct rbm_test_t :
       std::numeric_limits<char>::max()
     );
     char contents = distribution(generator);
-    return buffer::ptr(buffer::create(blocks * block_size, contents));
+    auto bp = bufferptr(ceph::buffer::create_page_aligned(blocks * block_size));
+    memset(bp.c_str(), contents, bp.length());
+    return bp;
   }
 
   void close() {