OPTION(bluestore_debug_omit_kv_commit, OPT_BOOL)
OPTION(bluestore_debug_permit_any_bdev_label, OPT_BOOL)
OPTION(bluestore_debug_random_read_err, OPT_DOUBLE)
+OPTION(bluestore_debug_legacy_omap, OPT_BOOL)
OPTION(bluestore_debug_inject_bug21040, OPT_BOOL)
OPTION(bluestore_debug_inject_csum_err_probability, OPT_FLOAT)
OPTION(bluestore_fsck_error_on_no_per_pool_stats, OPT_BOOL)
.set_default(0)
.set_description(""),
+ Option("bluestore_debug_legacy_omap", Option::TYPE_BOOL, Option::LEVEL_DEV)
+ .set_default(false)
+ .set_description(""),
+
Option("bluestore_debug_inject_bug21040", Option::TYPE_BOOL, Option::LEVEL_DEV)
.set_default(false)
.set_description(""),
auto s = bl.to_str();
if (s == stringify(OMAP_PER_POOL)) {
per_pool_omap = OMAP_PER_POOL;
- } else {
- ceph_assert(s == stringify(OMAP_PER_PG));
+ } else if (s == stringify(OMAP_PER_PG)) {
per_pool_omap = OMAP_PER_PG;
+ } else {
+ ceph_assert(s == stringify(OMAP_BULK));
}
dout(10) << __func__ << " per_pool_omap = " << per_pool_omap << dendl;
} else {
}
{
bufferlist bl;
- bl.append(stringify(OMAP_PER_PG));
+ if (cct->_conf.get_val<bool>("bluestore_debug_legacy_omap")) {
+ bl.append(stringify(OMAP_BULK));
+ } else {
+ bl.append(stringify(OMAP_PER_PG));
+ }
t->set(PREFIX_SUPER, "per_pool_omap", bl);
}
ondisk_format = latest_ondisk_format;