txn.remove(coll->get_cid(),
ghobject_t{os.oi.soid, ghobject_t::NO_GEN, shard});
delta_stats.num_bytes -= os.oi.size;
+
+ if (os.oi.is_omap()) {
+ os.oi.clear_flag(object_info_t::FLAG_OMAP);
+ delta_stats.num_objects_omap--;
+ }
+
os.oi.size = 0;
os.oi.new_object();
osd_op_params.clean_regions.mark_omap_dirty();
delta_stats.num_wr++;
delta_stats.num_wr_kb += shift_round_up(to_set_bl.length(), 10);
- os.oi.set_flag(object_info_t::FLAG_OMAP);
+ if (!os.oi.is_omap()) {
+ os.oi.set_flag(object_info_t::FLAG_OMAP);
+ delta_stats.num_objects_omap++;
+ }
os.oi.clear_omap_digest();
return seastar::now();
}
txn.omap_setheader(coll->get_cid(), ghobject_t{os.oi.soid}, osd_op.indata);
osd_op_params.clean_regions.mark_omap_dirty();
delta_stats.num_wr++;
- os.oi.set_flag(object_info_t::FLAG_OMAP);
+ if (!os.oi.is_omap()) {
+ os.oi.set_flag(object_info_t::FLAG_OMAP);
+ delta_stats.num_objects_omap++;
+ }
os.oi.clear_omap_digest();
return seastar::now();
}