]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ECBackend: send correct stats to async_recovery_targets
authorNeha Ojha <nojha@redhat.com>
Thu, 1 Mar 2018 20:01:18 +0000 (12:01 -0800)
committerNeha Ojha <nojha@redhat.com>
Thu, 15 Mar 2018 18:13:34 +0000 (11:13 -0700)
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/ECBackend.cc

index 370370ee5fecb617b406c623238acc25e41827d5..2e071af905f1f4d17a220ba2651f4a015c567bba 100644 (file)
@@ -1917,6 +1917,7 @@ bool ECBackend::try_reads_to_commit()
   ObjectStore::Transaction empty;
   bool should_write_local = false;
   ECSubWrite local_write_op;
+  set<pg_shard_t> backfill_shards = get_parent()->get_backfill_shards();
   for (set<pg_shard_t>::const_iterator i =
         get_parent()->get_acting_recovery_backfill_shards().begin();
        i != get_parent()->get_acting_recovery_backfill_shards().end();
@@ -1928,7 +1929,7 @@ bool ECBackend::try_reads_to_commit()
     assert(iter != trans.end());
     bool should_send = get_parent()->should_send_op(*i, op->hoid);
     const pg_stat_t &stats =
-      should_send ?
+      (should_send || !backfill_shards.count(*i)) ?
       get_info().stats :
       parent->get_shard_info().find(*i)->second.stats;