]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: be_select_auth_object() sanity check oi soid
authorDavid Zafman <dzafman@redhat.com>
Mon, 12 Jun 2017 18:28:48 +0000 (11:28 -0700)
committerDavid Zafman <dzafman@redhat.com>
Mon, 12 Jun 2017 20:50:58 +0000 (13:50 -0700)
Fixes: http://tracker.ceph.com/issues/18409
Signed-off-by: David Zafman <dzafman@redhat.com>
src/osd/PGBackend.cc

index 3e63f0675dc2cc4c2c4d69529034c58a8045da4c..97a7f07ba326ea5cb6dfd1355b737ba6655cfe5c 100644 (file)
@@ -687,6 +687,12 @@ map<pg_shard_t, ScrubMap *>::const_iterator
       goto out;
     }
 
+    if (oi.soid != obj) {
+      shard_info.set_oi_attr_corrupted();
+      error_string += " oi_attr_corrupted";
+      goto out;
+    }
+
     if (auth_version != eversion_t()) {
       if (!object_error.has_object_info_inconsistency() && !(bl == auth_bl)) {
        object_error.set_object_info_inconsistency();