Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
extent_types_t get_type() const final {
return TYPE;
}
+
+ bool may_conflict() const final {
+ return false;
+ }
};
using BackrefInternalNodeRef = BackrefInternalNode::Ref;
return TYPE;
}
+ bool may_conflict() const final {
+ return false;
+ }
+
const_iterator insert(
const_iterator iter,
paddr_t key,
Transaction& t,
CachedExtent& extent)
{
+ if (!extent.may_conflict()) {
+ assert(extent.transactions.empty());
+ return;
+ }
+
LOG_PREFIX(Cache::invalidate_extent);
bool do_conflict_log = true;
for (auto &&i: extent.transactions) {
return false;
}
+ virtual bool may_conflict() const {
+ return true;
+ }
+
friend std::ostream &operator<<(std::ostream &, extent_state_t);
virtual std::ostream &print_detail(std::ostream &out) const { return out; }
std::ostream &print(std::ostream &out) const {