]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: set target.osd to -1 if command osd is down
authorSage Weil <sage@redhat.com>
Mon, 3 Apr 2017 14:11:47 +0000 (10:11 -0400)
committerSage Weil <sage@redhat.com>
Mon, 3 Apr 2017 14:12:21 +0000 (10:12 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osdc/Objecter.cc

index d45e4c45fb0ab139582c08e8908213e764b90f14..1d799dac037e16a5aa195b0b177ae7623ab52605 100644 (file)
@@ -4721,11 +4721,13 @@ int Objecter::_calc_command_target(CommandOp *c, shunique_lock& sul)
     if (!osdmap->exists(c->target_osd)) {
       c->map_check_error = -ENOENT;
       c->map_check_error_str = "osd dne";
+      c->target.osd = -1;
       return RECALC_OP_TARGET_OSD_DNE;
     }
     if (osdmap->is_down(c->target_osd)) {
       c->map_check_error = -ENXIO;
       c->map_check_error_str = "osd down";
+      c->target.osd = -1;
       return RECALC_OP_TARGET_OSD_DOWN;
     }
     c->target.osd = c->target_osd;
@@ -4734,10 +4736,12 @@ int Objecter::_calc_command_target(CommandOp *c, shunique_lock& sul)
     if (ret == RECALC_OP_TARGET_POOL_DNE) {
       c->map_check_error = -ENOENT;
       c->map_check_error_str = "pool dne";
+      c->target.osd = -1;
       return ret;
     } else if (ret == RECALC_OP_TARGET_OSD_DOWN) {
       c->map_check_error = -ENXIO;
       c->map_check_error_str = "osd down";
+      c->target.osd = -1;
       return ret;
     }
   }