diff --git a/qa/workunits/cephtool/test.sh b/qa/workunits/cephtool/test.sh index 9140ba061dc..7fabf508fa7 100755 --- a/qa/workunits/cephtool/test.sh +++ b/qa/workunits/cephtool/test.sh @@ -1374,6 +1374,7 @@ function test_mon_pg() ceph osd primary-affinity osd.0 .9 expect_false ceph osd primary-affinity osd.0 -2 + expect_false ceph osd primary-affinity osd.9999 .5 ceph osd primary-affinity osd.0 1 ceph osd pg-temp 0.0 0 1 2 diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index f8819255b4e..b6e0668edd6 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -6546,6 +6546,10 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs, get_last_committed() + 1)); return true; + } else { + ss << "osd." << id << " does not exist"; + err = -ENOENT; + goto reply; } } else if (prefix == "osd reweight") { int64_t id; @@ -6575,8 +6579,11 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs, get_last_committed() + 1)); return true; + } else { + ss << "osd." << id << " does not exist"; + err = -ENOENT; + goto reply; } - } else if (prefix == "osd lost") { int64_t id; if (!cmd_getval(g_ceph_context, cmdmap, "id", id)) {