]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PGLog: test for missing using the correct shard value 1296/head 1297/head
authorSamuel Just <sam.just@inktank.com>
Fri, 21 Feb 2014 21:25:36 +0000 (13:25 -0800)
committerSamuel Just <sam.just@inktank.com>
Sat, 22 Feb 2014 20:37:55 +0000 (12:37 -0800)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PGLog.cc

index c6b391521a05307959364082cb63e073c5be6c70..113bdd213ac52c59af4a364ea4902210e03a5bb9 100644 (file)
@@ -782,7 +782,11 @@ bool PGLog::read_log(ObjectStore *store, coll_t coll, hobject_t log_oid,
       if (i->is_delete()) continue;
       
       bufferlist bv;
-      int r = store->getattr(coll, i->soid, OI_ATTR, bv);
+      int r = store->getattr(
+       coll,
+       ghobject_t(i->soid, ghobject_t::NO_GEN, info.pgid.shard),
+       OI_ATTR,
+       bv);
       if (r >= 0) {
        object_info_t oi(bv);
        if (oi.version < i->version) {
@@ -803,7 +807,11 @@ bool PGLog::read_log(ObjectStore *store, coll_t coll, hobject_t log_oid,
       if (did.count(i->second)) continue;
       did.insert(i->second);
       bufferlist bv;
-      int r = store->getattr(coll, i->second, OI_ATTR, bv);
+      int r = store->getattr(
+       coll, 
+       ghobject_t(i->second, ghobject_t::NO_GEN, info.pgid.shard),
+       OI_ATTR,
+       bv);
       if (r >= 0) {
        object_info_t oi(bv);
        /**