]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: be_select_auth_object() sanity check oi soid 20331/head
authorDavid Zafman <dzafman@redhat.com>
Mon, 12 Jun 2017 18:28:48 +0000 (11:28 -0700)
committerDavid Zafman <dzafman@redhat.com>
Mon, 5 Feb 2018 18:20:01 +0000 (10:20 -0800)
Fixes: http://tracker.ceph.com/issues/18409
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 9614ab556ca8e4e5daec1e71d9b6032633ba21a0)

src/osd/PGBackend.cc

index 2800c0ce7ce7f4876e2e00a31ff647c7e53c84d9..522c6a72b996edec50e4fa36c78a3d0c9df56f5b 100644 (file)
@@ -603,6 +603,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();