]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: add some slow debug path
authorSage Weil <sage@redhat.com>
Tue, 22 Dec 2015 18:31:07 +0000 (13:31 -0500)
committerSage Weil <sage@redhat.com>
Fri, 1 Jan 2016 18:07:22 +0000 (13:07 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/common/config_opts.h
src/os/bluestore/BlueStore.cc

index abc4d99e7eef0f7765bd6eb7fca457246a699190..e4b87f6fdd496f953e4863bda5bec180868bd8fe 100644 (file)
@@ -885,6 +885,7 @@ OPTION(bluestore_overlay_max_length, OPT_INT, 65536)
 OPTION(bluestore_overlay_max, OPT_INT, 0)
 OPTION(bluestore_open_by_handle, OPT_BOOL, true)
 OPTION(bluestore_o_direct, OPT_BOOL, true)
+OPTION(bluestore_debug_misc, OPT_BOOL, false)
 
 OPTION(kstore_max_ops, OPT_U64, 512)
 OPTION(kstore_max_bytes, OPT_U64, 64*1024*1024)
index ecae38d61927cdc7c9b130461fdbc3bf41c40ab7..b400c9d9f9d61aae30ba0614fcdadae988ad2e63 100644 (file)
@@ -641,12 +641,15 @@ BlueStore::OnodeRef BlueStore::Collection::get_onode(
   Onode *on;
   if (v.length() == 0) {
     assert(r == -ENOENT);
-    if (!create)
+    if (!g_conf->bluestore_debug_misc &&
+       !create)
       return OnodeRef();
 
     // new
     on = new Onode(oid, key);
     on->dirty = true;
+    if (g_conf->bluestore_debug_misc && !create)
+      on->exists = on->dirty = false;
   } else {
     // loaded
     assert(r >=0);