]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: ignore CRUSH_ITEM_NONE in compat_must_dispatch_immediately 1972/head 2015/head
authorSage Weil <sage@inktank.com>
Mon, 23 Jun 2014 17:47:24 +0000 (10:47 -0700)
committerSage Weil <sage@inktank.com>
Mon, 23 Jun 2014 17:47:24 +0000 (10:47 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc

index c4d5b19d2c71613556ed2e924b6a412dbb8135cf..b3fdd48490efa67d07b28496d1b7efb0787ea776 100644 (file)
@@ -6825,6 +6825,8 @@ bool OSD::compat_must_dispatch_immediately(PG *pg)
     tmpacting = pg->actingbackfill;
   } else {
     for (unsigned i = 0; i < pg->acting.size(); ++i) {
+      if (pg->acting[i] == CRUSH_ITEM_NONE)
+       continue;
       tmpacting.insert(
        pg_shard_t(
          pg->acting[i],
@@ -6835,7 +6837,7 @@ bool OSD::compat_must_dispatch_immediately(PG *pg)
   for (set<pg_shard_t>::iterator i = tmpacting.begin();
        i != tmpacting.end();
        ++i) {
-    if (i->osd == whoami)
+    if (i->osd == whoami || i->osd == CRUSH_ITEM_NONE)
       continue;
     ConnectionRef conn =
       service.get_con_osd_cluster(i->osd, pg->get_osdmap()->get_epoch());