]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Improve logic in be_compare_scrubmaps()
authorDavid Zafman <dzafman@redhat.com>
Wed, 25 Jul 2018 19:10:57 +0000 (12:10 -0700)
committerDavid Zafman <dzafman@redhat.com>
Thu, 26 Jul 2018 18:43:28 +0000 (11:43 -0700)
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 135d5d0209fd6441a470fd2301c6c0e2ec803091)

src/osd/PGBackend.cc

index 432faa580842ce56d20b6b211c8139d36674e722..8a96348880b49bb5735b60eb891f175bce97be4a 100644 (file)
@@ -1001,11 +1001,12 @@ void PGBackend::be_compare_scrubmaps(
          if (found)
            errorstream << pgid << " shard " << j->first << ": soid " << *k
                      << " " << ss.str() << "\n";
-       } else if (found) {
+       } else if (object_error.errors != 0) {
          // Track possible shard to use as authoritative, if needed
          // There are errors, without identifying the shard
          object_errors.insert(j->first);
-         errorstream << pgid << " : soid " << *k << " " << ss.str() << "\n";
+         if (found)
+           errorstream << pgid << " : soid " << *k << " " << ss.str() << "\n";
        } else {
          // XXX: The auth shard might get here that we don't know
          // that it has the "correct" data.