Replacing inappropriate usages of seastore_off_t.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
extent_types_t type,
paddr_t addr,
laddr_t laddr,
- seastore_off_t len) = 0;
+ extent_len_t len) = 0;
/**
* submit_transaction_direct
key.get_addr_type() == paddr_types_t::SEGMENT ?
key.as_seg_paddr().get_segment_off() :
key.as_blk_paddr().get_block_off(),
- (uint64_t)cache.get_block_size()));
+ cache.get_block_size()));
struct state_t {
paddr_t last_end;
c,
btree.lower_bound(
c,
- paddr_t::make_seg_paddr(segment_id_t{0, 0}, 0),
+ P_ADDR_MIN,
&tree_visitor),
[c, &scan_visitor, block_size, FNAME](auto &pos) {
if (pos.is_end()) {
op_context_t<node_key_t> c,
paddr_t addr,
node_key_t laddr,
- seastore_off_t len)
+ extent_len_t len)
{
LOG_PREFIX(FixedKVBtree::get_leaf_if_live);
return lower_bound(
op_context_t<node_key_t> c,
paddr_t addr,
node_key_t laddr,
- seastore_off_t len)
+ extent_len_t len)
{
LOG_PREFIX(FixedKVBtree::get_internal_if_live);
return lower_bound(
CachedExtentRef Cache::alloc_new_extent_by_type(
Transaction &t, ///< [in, out] current transaction
extent_types_t type, ///< [in] type tag
- seastore_off_t length, ///< [in] length
+ extent_len_t length, ///< [in] length
placement_hint_t hint, ///< [in] user hint
reclaim_gen_t gen ///< [in] reclaim generation
)
: L_ADDR_NULL),
i->last_committed_crc,
final_crc,
- (seastore_off_t)i->get_length(),
+ i->get_length(),
i->get_version() - 1,
sseq,
stype,
extent_types_t type,
paddr_t offset,
laddr_t laddr,
- seastore_off_t length,
+ extent_len_t length,
const Transaction::src_t* p_src,
extent_init_func_t &&extent_init_func,
extent_init_func_t &&on_cache)
template <typename T, typename Func, typename OnCache>
get_extent_ret<T> get_extent(
paddr_t offset, ///< [in] starting addr
- seastore_off_t length, ///< [in] length
- const src_ext_t* p_src_ext, ///< [in] cache query metric key
+ extent_len_t length, ///< [in] length
+ const src_ext_t* p_src_ext, ///< [in] cache query metric key
Func &&extent_init_func, ///< [in] init func for extent
OnCache &&on_cache
) {
template <typename T>
get_extent_ret<T> get_extent(
paddr_t offset, ///< [in] starting addr
- seastore_off_t length, ///< [in] length
+ extent_len_t length, ///< [in] length
const src_ext_t* p_metric_key ///< [in] cache query metric key
) {
return get_extent<T>(
get_extent_iertr::future<TCachedExtentRef<T>> get_extent(
Transaction &t,
paddr_t offset,
- seastore_off_t length,
+ extent_len_t length,
Func &&extent_init_func) {
CachedExtentRef ret;
LOG_PREFIX(Cache::get_extent);
get_extent_iertr::future<TCachedExtentRef<T>> get_extent(
Transaction &t,
paddr_t offset,
- seastore_off_t length) {
+ extent_len_t length) {
return get_extent<T>(t, offset, length, [](T &){});
}
- seastore_off_t get_block_size() const {
+ extent_len_t get_block_size() const {
return epm.get_block_size();
}
extent_types_t type,
paddr_t offset,
laddr_t laddr,
- seastore_off_t length,
+ extent_len_t length,
const Transaction::src_t* p_src,
extent_init_func_t &&extent_init_func,
extent_init_func_t &&on_cache
extent_types_t type,
paddr_t offset,
laddr_t laddr,
- seastore_off_t length,
+ extent_len_t length,
extent_init_func_t &&extent_init_func
) {
LOG_PREFIX(Cache::get_extent_by_type);
extent_types_t type, ///< [in] type tag
paddr_t offset, ///< [in] starting addr
laddr_t laddr, ///< [in] logical address if logical
- seastore_off_t length, ///< [in] length
+ extent_len_t length, ///< [in] length
Func &&extent_init_func ///< [in] extent init func
) {
return _get_extent_by_type(
extent_types_t type,
paddr_t offset,
laddr_t laddr,
- seastore_off_t length
+ extent_len_t length
) {
return get_extent_by_type(
t, type, offset, laddr, length, [](CachedExtent &) {});
template <typename T>
TCachedExtentRef<T> alloc_new_extent(
Transaction &t, ///< [in, out] current transaction
- seastore_off_t length, ///< [in] length
+ extent_len_t length, ///< [in] length
placement_hint_t hint, ///< [in] user hint
reclaim_gen_t gen ///< [in] reclaim generation
) {
CachedExtentRef alloc_new_extent_by_type(
Transaction &t, ///< [in, out] current transaction
extent_types_t type, ///< [in] type tag
- seastore_off_t length, ///< [in] length
+ extent_len_t length, ///< [in] length
placement_hint_t hint, ///< [in] user hint
reclaim_gen_t gen ///< [in] reclaim generation
);
friend class Cache;
CachedExtent::index extent_index;
public:
- auto get_overlap(paddr_t addr, seastore_off_t len) {
+ auto get_overlap(paddr_t addr, extent_len_t len) {
auto bottom = extent_index.upper_bound(addr, paddr_cmp());
if (bottom != extent_index.begin())
--bottom;
namespace crimson::os::seastore::collection_manager {
-constexpr static seastore_off_t MIN_FLAT_BLOCK_SIZE = 4<<10;
-[[maybe_unused]] constexpr static seastore_off_t MAX_FLAT_BLOCK_SIZE = 4<<20;
+constexpr static extent_len_t MIN_FLAT_BLOCK_SIZE = 4<<10;
+[[maybe_unused]] constexpr static extent_len_t MAX_FLAT_BLOCK_SIZE = 4<<20;
FlatCollectionManager::FlatCollectionManager(
TransactionManager &tm)
virtual const seastore_meta_t &get_meta() const = 0;
- virtual seastore_off_t get_block_size() const = 0;
+ virtual extent_len_t get_block_size() const = 0;
virtual std::size_t get_available_size() const = 0;
return background_process.get_journal_type();
}
- seastore_off_t get_block_size() const {
+ extent_len_t get_block_size() const {
assert(primary_device != nullptr);
// assume all the devices have the same block size
return primary_device->get_block_size();
alloc_result_t alloc_new_extent(
Transaction& t,
extent_types_t type,
- seastore_off_t length,
+ extent_len_t length,
placement_hint_t hint,
reclaim_gen_t gen
) {
{
LOG_PREFIX(CircularBoundedJournal::mkfs);
assert(device);
- assert(static_cast<seastore_off_t>(config.block_size) ==
- device->get_block_size());
+ assert(config.block_size == device->get_block_size());
ceph::bufferlist bl;
CircularBoundedJournal::cbj_header_t head;
head.block_size = config.block_size;
auto write_result = write_result_t{
j_seq,
- (seastore_off_t)encoded_size
+ encoded_size
};
auto write_fut = device_write_bl(target, to_write);
return handle.enter(write_pipeline->device_submission
DEBUG("{} at {}", r_header, cursor_addr);
auto write_result = write_result_t{
r_header.committed_to,
- (seastore_off_t)bl.length()
+ bl.length()
};
if (expected_seq == NULL_SEG_SEQ) {
expected_seq = r_header.committed_to.segment_seq;
device_id_t get_device_id() const {
return header.device_id;
}
- size_t get_block_size() const {
+ extent_len_t get_block_size() const {
return header.block_size;
}
rbm_abs_addr get_journal_end() const {
auto write_result = write_result_t{
write_start_seq,
- static_cast<seastore_off_t>(write_length)
+ write_length
};
written_to += write_length;
segment_provider.update_segment_avail_bytes(
submitting_mdlength = gsize.get_mdlength();
auto bl = encode_records(pending, committed_to, segment_nonce);
// Note: pending is cleared here
- assert(bl.length() == (std::size_t)submitting_length);
+ assert(bl.length() == submitting_length);
return std::make_pair(bl, gsize);
}
return segment_provider;
}
- seastore_off_t get_block_size() const {
+ extent_len_t get_block_size() const {
return sm_group.get_block_size();
}
record_group_t pending;
std::size_t submitting_size = 0;
- seastore_off_t submitting_length = 0;
- seastore_off_t submitting_mdlength = 0;
+ extent_len_t submitting_length = 0;
+ extent_len_t submitting_mdlength = 0;
struct promise_result_t {
write_result_t write_result;
- seastore_off_t mdlength;
+ extent_len_t mdlength;
};
using maybe_promise_result_t = std::optional<promise_result_t>;
std::optional<seastar::shared_promise<maybe_promise_result_t> > io_promise;
extent_types_t type,
paddr_t addr,
laddr_t laddr,
- seastore_off_t len) = 0;
+ extent_len_t len) = 0;
virtual void add_pin(LBAPin &pin) = 0;
extent_types_t type,
paddr_t addr,
laddr_t laddr,
- seastore_off_t len)
+ extent_len_t len)
{
LOG_PREFIX(BtreeLBAManager::get_physical_extent_if_live);
DEBUGT("{}, laddr={}, paddr={}, length={}",
extent_types_t type,
paddr_t addr,
laddr_t laddr,
- seastore_off_t len) final;
+ extent_len_t len) final;
void add_pin(LBAPin &pin) final {
auto *bpin = reinterpret_cast<BtreeLBAPin*>(&pin);
virtual write_ertr::future<> complete_allocation(Transaction &t) = 0;
virtual size_t get_size() const = 0;
- virtual size_t get_block_size() const = 0;
+ virtual extent_len_t get_block_size() const = 0;
virtual uint64_t get_free_blocks() const = 0;
virtual device_id_t get_device_id() const = 0;
virtual ~RandomBlockManager() {}
write_ertr::future<> write_rbm_header();
size_t get_size() const final { return super.size; };
- size_t get_block_size() const final { return super.block_size; }
+ extent_len_t get_block_size() const final { return super.block_size; }
// max block number a block can represent using bitmap
uint64_t max_block_by_bitmap_block() {
secondary_device_set_t& get_secondary_devices() final {
return devices;
}
- std::size_t get_available_size() const { return size; }
- seastore_off_t get_block_size() const { return block_size; }
+ std::size_t get_available_size() const final { return size; }
+ extent_len_t get_block_size() const final { return block_size; }
virtual read_ertr::future<> read(
uint64_t offset,
* mutation which changes the journal trim bound.
*/
struct RootBlock : CachedExtent {
- constexpr static seastore_off_t SIZE = 4<<10;
+ constexpr static extent_len_t SIZE = 4<<10;
using Ref = TCachedExtentRef<RootBlock>;
root_t root;
laddr_t laddr = L_ADDR_NULL; ///< logical address
uint32_t prev_crc = 0;
uint32_t final_crc = 0;
- seastore_off_t length = NULL_SEG_OFF; ///< extent length
+ extent_len_t length = NULL_SEG_OFF; ///< extent length
extent_version_t pversion; ///< prior version
segment_seq_t ext_seq; ///< seq of the extent's segment
segment_type_t seg_type;
public:
coll_root_le_t() = default;
- coll_root_le_t(laddr_t laddr, seastore_off_t size)
+ coll_root_le_t(laddr_t laddr, extent_len_t size)
: addr(laddr), size(init_extent_len_le(size)) {}
struct write_result_t {
journal_seq_t start_seq;
- seastore_off_t length;
+ extent_len_t length;
journal_seq_t get_end_seq() const {
return journal_seq_t{
size_t get_available_size() const final {
return superblock.size;
}
- seastore_off_t get_block_size() const {
+ extent_len_t get_block_size() const {
return superblock.block_size;
}
seastore_off_t get_segment_size() const {
size_t get_available_size() const final {
return config.size;
}
- seastore_off_t get_block_size() const final {
+ extent_len_t get_block_size() const final {
return config.block_size;
}
seastore_off_t get_segment_size() const final {
return metadata.size;
};
- seastore_off_t get_block_size() const final {
+ extent_len_t get_block_size() const final {
return metadata.block_size;
};
return segment_manager.read(start, block_size
).safe_then([=, &segment_manager](bufferptr bptr) mutable
-> read_validate_record_metadata_ret {
- auto block_size = static_cast<extent_len_t>(
- segment_manager.get_block_size());
+ auto block_size = segment_manager.get_block_size();
bufferlist bl;
bl.append(bptr);
auto maybe_header = try_decode_records_header(bl, nonce);
auto rest_start = paddr_t::make_seg_paddr(
seg_addr.get_segment_id(),
- seg_addr.get_segment_off() + (seastore_off_t)block_size
+ seg_addr.get_segment_off() + block_size
);
auto rest_len = header.mdlength - block_size;
TRACE("reading record group header rest {}~{}", rest_start, rest_len);
cursor.seq.segment_seq,
next.offset
},
- static_cast<seastore_off_t>(total_length)
+ total_length
}
};
DEBUG("processing {} at {}, budget_used={}",
*
* Assume all segment managers share the same following information.
*/
- seastore_off_t get_block_size() const {
+ extent_len_t get_block_size() const {
assert(device_ids.size());
return segment_managers[*device_ids.begin()]->get_block_size();
}
extent_types_t type,
paddr_t paddr,
laddr_t laddr,
- seastore_off_t len)
+ extent_len_t len)
{
LOG_PREFIX(TransactionManager::get_extent_if_live);
TRACET("{} {}~{} {}", t, type, laddr, len, paddr);
return cache->get_extent_if_cached(t, paddr, type
).si_then([=, this, &t](auto extent)
-> get_extents_if_live_ret {
- if (extent && extent->get_length() == (extent_len_t)len) {
+ if (extent && extent->get_length() == len) {
DEBUGT("{} {}~{} {} is live in cache -- {}",
t, type, laddr, len, paddr, *extent);
std::list<CachedExtentRef> res;
LOG_PREFIX(TransactionManager::alloc_extent);
SUBTRACET(seastore_tm, "{} len={}, placement_hint={}, laddr_hint={}",
t, T::TYPE, len, placement_hint, laddr_hint);
- ceph_assert(is_aligned(laddr_hint, (uint64_t)epm->get_block_size()));
+ ceph_assert(is_aligned(laddr_hint, epm->get_block_size()));
auto ext = cache->alloc_new_extent<T>(
t,
len,
extent_len_t len) {
LOG_PREFIX(TransactionManager::reserve_region);
SUBDEBUGT(seastore_tm, "len={}, laddr_hint={}", t, len, hint);
- ceph_assert(is_aligned(hint, (uint64_t)epm->get_block_size()));
+ ceph_assert(is_aligned(hint, epm->get_block_size()));
return lba_manager->alloc_extent(
t,
hint,
extent_types_t type,
paddr_t paddr,
laddr_t laddr,
- seastore_off_t len) final;
+ extent_len_t len) final;
/**
* read_root_meta
{
logger().debug("Writing offset {}", offset);
assert(offset % device->get_block_size() == 0);
- assert((ptr.length() % (size_t)device->get_block_size()) == 0);
+ assert((ptr.length() % device->get_block_size()) == 0);
return seastar::do_with(ptr, [this, offset](auto& ptr) {
return repeat_eagain([this, offset, &ptr] {
return tm->with_transaction_intr(
{
logger().debug("Reading offset {}", offset);
assert(offset % device->get_block_size() == 0);
- assert(size % (size_t)device->get_block_size() == 0);
+ assert(size % device->get_block_size() == 0);
auto blptrret = std::make_unique<bufferlist>();
auto &blret = *blptrret;
return repeat_eagain([=, &blret, this] {
}
struct TestBlock : crimson::os::seastore::LogicalCachedExtent {
- constexpr static seastore_off_t SIZE = 4<<10;
+ constexpr static extent_len_t SIZE = 4<<10;
using Ref = TCachedExtentRef<TestBlock>;
std::vector<test_block_delta_t> delta = {};
using TestBlockRef = TCachedExtentRef<TestBlock>;
struct TestBlockPhysical : crimson::os::seastore::CachedExtent{
- constexpr static seastore_off_t SIZE = 4<<10;
+ constexpr static extent_len_t SIZE = 4<<10;
using Ref = TCachedExtentRef<TestBlockPhysical>;
std::vector<test_block_delta_t> delta = {};
std::default_random_engine generator;
- seastore_off_t block_size;
+ extent_len_t block_size;
SegmentManagerGroupRef sms;
}
size_t get_available_size() const final { return sm.get_available_size(); }
- seastore_off_t get_block_size() const final { return sm.get_block_size(); }
+ extent_len_t get_block_size() const final { return sm.get_block_size(); }
seastore_off_t get_segment_size() const final {
return sm.get_segment_size();
}