]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSDMap::_pg_to_up_acting_osds: use _acting_primary unless acting is empty 1317/head
authorSamuel Just <sam.just@inktank.com>
Wed, 26 Feb 2014 00:47:21 +0000 (16:47 -0800)
committerSamuel Just <sam.just@inktank.com>
Wed, 26 Feb 2014 00:47:24 +0000 (16:47 -0800)
If the temp set for whatever reason has only CRUSH_ITEM_NONE,
we need primary to be -1.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSDMap.cc

index 253e10d48a52466d0ae912ade8421db812488cbd..7fe4d5248de96d77873e78f748b89d83d91d9143 100644 (file)
@@ -1555,10 +1555,10 @@ void OSDMap::_pg_to_up_acting_osds(pg_t pg, vector<int> *up, int *up_primary,
   _raw_to_up_osds(*pool, raw, &_up, &_up_primary);
   _apply_primary_affinity(pps, *pool, &_up, &_up_primary);
   _get_temp_osds(*pool, pg, &_acting, &_acting_primary);
-  if (_acting.empty())
+  if (_acting.empty()) {
     _acting = _up;
-  if (_acting_primary == -1)
     _acting_primary = _up_primary;
+  }
   if (up)
     up->swap(_up);
   if (up_primary)