From: Yingxin Cheng Date: Mon, 28 Jun 2021 13:38:49 +0000 (+0800) Subject: crimson/onode-staged-tree: check invalid transaction only X-Git-Tag: v17.1.0~1508^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e52d5469b7d1aecc40158a10ea85f42186fa508b;p=ceph.git crimson/onode-staged-tree: check invalid transaction only Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/seastore.h b/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/seastore.h index f2d5a48a3dbd0..deb873265e92f 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/seastore.h +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/seastore.h @@ -109,11 +109,12 @@ class SeastoreNodeExtentManager final: public TransactionManagerHandle { ).safe_then([addr, &t](auto&& e) -> read_ertr::future { TRACET("read {}B at {:#x} -- {}", t, e->get_length(), e->get_laddr(), *e); - if (!e->is_valid() || t.is_conflicted()) { + if (t.is_conflicted()) { ERRORT("transaction conflict detected on extent read {}", t, *e); assert(t.is_conflicted()); return crimson::ct_error::eagain::make(); } + assert(e->is_valid()); assert(e->get_laddr() == addr); std::ignore = addr; return read_ertr::make_ready_future(e);