From: David Zafman Date: Wed, 10 Sep 2014 00:57:07 +0000 (-0700) Subject: test: Handle destructor of KvStoreBench by adding io_ctx_ready bool X-Git-Tag: v0.89~36^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3de15e8bb806c2e2330c9d0055ce3b91bfafd670;p=ceph.git test: Handle destructor of KvStoreBench by adding io_ctx_ready bool Signed-off-by: David Zafman --- diff --git a/src/test/kv_store_bench.cc b/src/test/kv_store_bench.cc index 2c212d29fe34..20f355209742 100644 --- a/src/test/kv_store_bench.cc +++ b/src/test/kv_store_bench.cc @@ -37,7 +37,8 @@ KvStoreBench::KvStoreBench() ops_in_flight(0), ops_in_flight_lock("KvStoreBench::ops_in_flight_lock"), rados_id("admin"), - pool_name("rbd") + pool_name("rbd"), + io_ctx_ready(false) { probs[25] = 'i'; probs[50] = 'u'; @@ -47,9 +48,11 @@ KvStoreBench::KvStoreBench() KvStoreBench::~KvStoreBench() { - librados::ObjectWriteOperation owo; - owo.remove(); - io_ctx.operate(client_name + ".done-setting", &owo); + if (io_ctx_ready) { + librados::ObjectWriteOperation owo; + owo.remove(); + io_ctx.operate(client_name + ".done-setting", &owo); + } delete kvs; } @@ -187,6 +190,7 @@ int KvStoreBench::setup(int argc, const char** argv) { rados.shutdown(); return r; } + io_ctx_ready = true; if (clear_first) { librados::ObjectIterator it; diff --git a/src/test/kv_store_bench.h b/src/test/kv_store_bench.h index 3ebb15fd9ef7..d12c5e850c0b 100644 --- a/src/test/kv_store_bench.h +++ b/src/test/kv_store_bench.h @@ -125,6 +125,7 @@ protected: librados::Rados rados; string rados_id; string pool_name; + bool io_ctx_ready; librados::IoCtx io_ctx; /**