]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/transaction_manager: pin may not match unless paddr does
authorSamuel Just <sjust@redhat.com>
Thu, 2 Sep 2021 23:13:12 +0000 (16:13 -0700)
committerSamuel Just <sjust@redhat.com>
Wed, 8 Sep 2021 00:04:34 +0000 (17:04 -0700)
The same laddr might be reallocated with a different size.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/transaction_manager.cc

index eee1d2aedd56b563dadea3e424cadb0da3f508ab..4675f3040a9c8f74416d1f16526a1a89ab8c7223 100644 (file)
@@ -323,8 +323,8 @@ TransactionManager::get_extent_if_live_ret TransactionManager::get_extent_if_liv
        t,
        laddr).si_then([=, &t] (LBAPinRef pin) -> inner_ret {
          ceph_assert(pin->get_laddr() == laddr);
-         ceph_assert(pin->get_length() == (extent_len_t)len);
          if (pin->get_paddr() == addr) {
+           ceph_assert(pin->get_length() == (extent_len_t)len);
            return cache->get_extent_by_type(
              t,
              type,