From: Sage Weil Date: Sat, 24 Jan 2015 00:08:33 +0000 (-0800) Subject: osd: add failure injection on pg removals X-Git-Tag: v0.93~173^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4e90a310b9b42fb943a4eb28a9ad30f8703eedb5;p=ceph.git osd: add failure injection on pg removals Trigger a failure before final PG removal so we can test that the OSD will complete interrupted PG removal. Signed-off-by: Sage Weil --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index bd053b1d372d..76726428e21c 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -531,6 +531,7 @@ OPTION(osd_map_cache_size, OPT_INT, 500) OPTION(osd_map_message_max, OPT_INT, 100) // max maps per MOSDMap message OPTION(osd_map_share_max_epochs, OPT_INT, 100) // cap on # of inc maps we send to peers, clients OPTION(osd_inject_bad_map_crc_probability, OPT_FLOAT, 0) +OPTION(osd_inject_failure_on_pg_removal, OPT_BOOL, false) OPTION(osd_op_threads, OPT_INT, 2) // 0 == no threading OPTION(osd_peering_wq_batch_size, OPT_U64, 20) OPTION(osd_op_pq_max_tokens_per_priority, OPT_U64, 4194304) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 07782e7da532..19d7c91dab55 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -4164,6 +4164,10 @@ void OSD::RemoveWQ::_process( for (list::iterator i = colls_to_remove.begin(); i != colls_to_remove.end(); ++i) { + if (g_conf->osd_inject_failure_on_pg_removal) { + generic_derr << "osd_inject_failure_on_pg_removal" << dendl; + exit(1); + } t->remove_collection(*i); }