OPTION(osd_debug_reject_backfill_probability, OPT_DOUBLE, 0)
OPTION(osd_debug_inject_copyfrom_error, OPT_BOOL, false) // inject failure during copyfrom completion
OPTION(osd_debug_randomize_hobject_sort_order, OPT_BOOL, false)
+OPTION(osd_debug_misdirected_ops, OPT_BOOL, false)
OPTION(osd_enable_op_tracker, OPT_BOOL, true) // enable/disable OSD op tracking
OPTION(osd_num_op_tracker_shard, OPT_U32, 32) // The number of shards for holding the ops
OPTION(osd_op_history_size, OPT_U32, 20) // Max number of completed ops to track
return;
}
- // ok, we didn't have the PG. let's see if it's our fault or the client's.
+ // ok, we didn't have the PG.
+ if (!g_conf->osd_debug_misdirected_ops) {
+ return;
+ }
+ // let's see if it's our fault or the client's. note that this might
+ // involve loading an old OSDmap off disk, so it can be slow.
OSDMapRef send_map = service.try_get_map(m->get_map_epoch());
- // check send epoch
if (!send_map) {
dout(7) << "don't have sender's osdmap; assuming it was valid and that"
<< " client will resend" << dendl;