desc: inject crc verification errors into bluestore device reads
default: 0
with_legacy: true
+- name: bluestore_debug_legacy_omap
+ type: bool
+ level: dev
+ desc: Allows mkfs to create OSD in legacy OMAP naming mode (neither per-pool nor per-pg).
+ This is intended primarily for developers' purposes. The resulting OSD might/would
+ be transformed to the currrently default 'per-pg' format when BlueStore's quick-fix or
+ repair are applied.
+ default: false
+ with_legacy: true
- name: bluestore_fsck_error_on_no_per_pool_stats
type: bool
level: advanced
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;