retire_extent_addr can only be called on absolute or record-relative
addrs. Record-relative addrs are only valid on extents allocated as
part of the current transaction.
Signed-off-by: Samuel Just <sjust@redhat.com>
Cache::retire_extent_ret Cache::retire_extent_addr(
Transaction &t, paddr_t addr, extent_len_t length)
{
+ assert(addr.is_real() && !addr.is_block_relative());
+
LOG_PREFIX(Cache::retire_extent);
CachedExtentRef ext;
auto result = t.get_extent(addr, &ext);
ceph_abort();
}
+ // any relative addr must have been on the transaction
+ assert(!addr.is_relative());
+
// absent from transaction
// retiring is not included by the cache hit metrics
ext = query_cache(addr, nullptr);