From 4c90949681f300f6afc6b26bc120c2df59db4d10 Mon Sep 17 00:00:00 2001 From: myoungwon oh Date: Fri, 11 Jun 2021 22:17:23 +0900 Subject: [PATCH] seastore/rbm: replace blk_paddr_t with size_t in free_extent() Signed-off-by: Myoungwon Oh --- src/crimson/os/seastore/random_block_manager.h | 2 +- .../os/seastore/random_block_manager/nvme_manager.cc | 6 +++--- src/crimson/os/seastore/random_block_manager/nvme_manager.h | 2 +- src/test/crimson/seastore/test_randomblock_manager.cc | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/crimson/os/seastore/random_block_manager.h b/src/crimson/os/seastore/random_block_manager.h index 8efca624fc2..a25ec5ba99c 100644 --- a/src/crimson/os/seastore/random_block_manager.h +++ b/src/crimson/os/seastore/random_block_manager.h @@ -79,7 +79,7 @@ public: crimson::ct_error::invarg >; // TODO: will include trim if necessary - virtual free_block_ertr::future<> free_extent(Transaction &t, blk_paddr_t from, blk_paddr_t to) = 0; + virtual free_block_ertr::future<> free_extent(Transaction &t, blk_paddr_t from, size_t len) = 0; using abort_allocation_ertr = crimson::errorator< crimson::ct_error::input_output_error, diff --git a/src/crimson/os/seastore/random_block_manager/nvme_manager.cc b/src/crimson/os/seastore/random_block_manager/nvme_manager.cc index f22b8e4c52d..5207dbee4ae 100644 --- a/src/crimson/os/seastore/random_block_manager/nvme_manager.cc +++ b/src/crimson/os/seastore/random_block_manager/nvme_manager.cc @@ -294,13 +294,13 @@ NVMeManager::allocate_ertr::future<> NVMeManager::alloc_extent( } NVMeManager::free_block_ertr::future<> NVMeManager::free_extent( - Transaction &t, blk_paddr_t from, blk_paddr_t to) + Transaction &t, blk_paddr_t from, size_t len) { + ceph_assert(!(len % super.block_size)); blk_id_t blk_id_start = from / super.block_size; - blk_id_t blk_id_end = to / super.block_size; interval_set free_extent; - free_extent.insert(blk_id_start, blk_id_end - blk_id_start + 1); + free_extent.insert(blk_id_start, len / super.block_size); rbm_alloc_delta_t alloc_info { extent_types_t::RBM_ALLOC_INFO, free_extent, diff --git a/src/crimson/os/seastore/random_block_manager/nvme_manager.h b/src/crimson/os/seastore/random_block_manager/nvme_manager.h index e8745ddca35..7015e351e30 100644 --- a/src/crimson/os/seastore/random_block_manager/nvme_manager.h +++ b/src/crimson/os/seastore/random_block_manager/nvme_manager.h @@ -212,7 +212,7 @@ public: */ // TODO: will include trim if necessary free_block_ertr::future<> free_extent( - Transaction &t, blk_paddr_t from, blk_paddr_t to) final; + Transaction &t, blk_paddr_t from, size_t len) final; abort_allocation_ertr::future<> abort_allocation(Transaction &t) final; write_ertr::future<> complete_allocation(Transaction &t) final; diff --git a/src/test/crimson/seastore/test_randomblock_manager.cc b/src/test/crimson/seastore/test_randomblock_manager.cc index 8ea9a502b50..994a9b8afdf 100644 --- a/src/test/crimson/seastore/test_randomblock_manager.cc +++ b/src/test/crimson/seastore/test_randomblock_manager.cc @@ -93,10 +93,10 @@ struct rbm_test_t : public seastar_test_suite_t, auto free_extent(Transaction &t, interval_set range) { for (auto r : range) { - logger().debug("free_extent: start {} end {}", r.first * DEFAULT_BLOCK_SIZE, - (r.first + r.second - 1) * DEFAULT_BLOCK_SIZE); + logger().debug("free_extent: start {} len {}", r.first * DEFAULT_BLOCK_SIZE, + r.second * DEFAULT_BLOCK_SIZE); return rbm_manager->free_extent(t, r.first * DEFAULT_BLOCK_SIZE, - (r.first + r.second - 1) * DEFAULT_BLOCK_SIZE).unsafe_get0(); + r.second * DEFAULT_BLOCK_SIZE).unsafe_get0(); } } -- 2.39.5