]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Avoid unused pg_to_acting_osds call in OSDMap::get_primary_shard for not ec pool 2667/head
authorDong Yuan <yuandong1222@gmail.com>
Wed, 8 Oct 2014 07:56:30 +0000 (07:56 +0000)
committerDong Yuan <yuandong1222@gmail.com>
Wed, 8 Oct 2014 07:56:30 +0000 (07:56 +0000)
Signed-off-by: Dong Yuan <yuandong1222@gmail.com>
src/osd/OSDMap.h

index aafadb6b6c0e0eddfaa5d8f2556829342298e3e5..1ae02695ac89b5d40b0f88029cfa64da72dc8b5f 100644 (file)
@@ -672,19 +672,18 @@ public:
     if (i == get_pools().end()) {
       return false;
     }
+    if (!i->second.ec_pool()) {
+      *out = spg_t(pgid);
+      return true;
+    }
     int primary;
     vector<int> acting;
     pg_to_acting_osds(pgid, &acting, &primary);
-    if (i->second.ec_pool()) {
-      for (uint8_t i = 0; i < acting.size(); ++i) {
-       if (acting[i] == primary) {
-         *out = spg_t(pgid, shard_id_t(i));
-         return true;
-       }
+    for (uint8_t i = 0; i < acting.size(); ++i) {
+      if (acting[i] == primary) {
+        *out = spg_t(pgid, shard_id_t(i));
+        return true;
       }
-    } else {
-      *out = spg_t(pgid);
-      return true;
     }
     return false;
   }