Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
ceph_assert(is_head());
obs = std::move(_obs);
ssc = std::move(_ssc);
+ fully_loaded = true;
}
void set_clone_state(ObjectState &&_obs) {
ceph_assert(!is_head());
obs = std::move(_obs);
+ fully_loaded = true;
}
/// pass the provided exception to any waiting consumers of this ObjectContext
}
}
+ bool is_fully_loaded() const {
+ return fully_loaded;
+ }
+
private:
tri_mutex lock;
bool recovery_read_marker = false;
boost::intrusive::list_member_hook<> list_hook;
uint64_t list_link_cnt = 0;
+ bool fully_loaded = false;
public:
auto loaded =
load_obc_iertr::make_ready_future<ObjectContextRef>(obc);
if (existed) {
+ ceph_assert(obc->is_fully_loaded());
DEBUGDPP("cache hit on {}", dpp, obc->get_oid());
} else {
DEBUGDPP("cache miss on {}", dpp, obc->get_oid());