@@ -64,7 +64,7 @@ struct extent_to_write_t {
6464 }
6565
6666 laddr_t get_end_addr () const {
67- return addr + len;
67+ return ( addr + len). checked_to_laddr () ;
6868 }
6969
7070 static extent_to_write_t create_data (
@@ -544,7 +544,7 @@ ObjectDataHandler::write_ret do_insertions(
544544 off);
545545 }
546546 iter.copy (extent->get_length (), extent->get_bptr ().c_str ());
547- off = off + extent->get_length ();
547+ off = ( off + extent->get_length ()). checked_to_laddr ();
548548 left -= extent->get_length ();
549549 }
550550 return ObjectDataHandler::write_iertr::now ();
@@ -708,7 +708,7 @@ struct overwrite_plan_t {
708708 extent_len_t block_size) :
709709 data_base (data_base),
710710 pin_begin (pins.front()->get_key ()),
711- pin_end(pins.back()->get_key() + pins.back()->get_length()),
711+ pin_end(( pins.back()->get_key() + pins.back()->get_length()).checked_to_laddr ()),
712712 left_paddr(pins.front()->get_val()),
713713 right_paddr(pins.back()->get_val()),
714714 data_begin(data_base + offset),
@@ -1127,7 +1127,7 @@ ObjectDataHandler::clear_ret ObjectDataHandler::trim_data_reservation(
11271127 pin.get_key (),
11281128 size - pin_offset));
11291129 to_write.push_back (extent_to_write_t::create_zero (
1130- object_data.get_reserved_data_base () + roundup_size,
1130+ ( object_data.get_reserved_data_base () + roundup_size). checked_to_laddr () ,
11311131 object_data.get_reserved_data_len () - roundup_size));
11321132 return clear_iertr::now ();
11331133 } else {
@@ -1152,7 +1152,7 @@ ObjectDataHandler::clear_ret ObjectDataHandler::trim_data_reservation(
11521152 pin.get_key (),
11531153 bl));
11541154 to_write.push_back (extent_to_write_t::create_zero (
1155- object_data.get_reserved_data_base () + roundup_size,
1155+ ( object_data.get_reserved_data_base () + roundup_size). checked_to_laddr () ,
11561156 object_data.get_reserved_data_len () - roundup_size));
11571157 return clear_iertr::now ();
11581158 });
@@ -1720,7 +1720,8 @@ ObjectDataHandler::clone_ret ObjectDataHandler::clone_extents(
17201720 ceph_assert (offset == last_pos);
17211721 auto fut = TransactionManager::alloc_extent_iertr
17221722 ::make_ready_future<LBAMappingRef>();
1723- auto addr = object_data.get_reserved_data_base () + offset;
1723+ laddr_t addr = (object_data.get_reserved_data_base () + offset)
1724+ .checked_to_laddr ();
17241725 if (pin->get_val ().is_zero ()) {
17251726 fut = ctx.tm .reserve_region (ctx.t , addr, pin->get_length ());
17261727 } else {
@@ -1738,7 +1739,7 @@ ObjectDataHandler::clone_ret ObjectDataHandler::clone_extents(
17381739 if (last_pos != object_data.get_reserved_data_len ()) {
17391740 return ctx.tm .reserve_region (
17401741 ctx.t ,
1741- object_data.get_reserved_data_base () + last_pos,
1742+ ( object_data.get_reserved_data_base () + last_pos). checked_to_laddr () ,
17421743 object_data.get_reserved_data_len () - last_pos
17431744 ).si_then ([](auto ) {
17441745 return seastar::now ();
0 commit comments