]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG::proc_replica_log: adjust oinfo.last_complete based on omissing
authorSamuel Just <sam.just@inktank.com>
Thu, 21 Feb 2013 23:31:36 +0000 (15:31 -0800)
committerSamuel Just <sam.just@inktank.com>
Thu, 21 Feb 2013 23:37:14 +0000 (15:37 -0800)
Otherwise, search_for_missing may neglect to check the missing
set for some objects assuming that if the need version is
prior to last_complete, the replica must have it.

Fixes: #4994
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc

index 09d27a6a037cdea6d2c934fde44269b0aa101275..5fac26d5f7660a27714287b4711d2c884faa6d44 100644 (file)
@@ -277,6 +277,8 @@ void PG::proc_replica_log(ObjectStore::Transaction& t,
     oinfo.last_update = lu;
     if (lu < oinfo.last_complete)
       oinfo.last_complete = lu;
+    if (omissing.have_missing())
+      oinfo.last_complete = missing.missing[missing.rmissing.begin()->second].need;
   }
 
   peer_info[from] = oinfo;