]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: check for peering restart before share_pg_info
authorSamuel Just <samuel.just@dreamhost.com>
Fri, 28 Oct 2011 22:34:27 +0000 (15:34 -0700)
committerSamuel Just <samuel.just@dreamhost.com>
Fri, 28 Oct 2011 22:48:53 +0000 (15:48 -0700)
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
src/osd/ReplicatedPG.cc

index 837fbf44f009ab37e1e66579064f4b4d9858a073..c083515a593cce74e19a774a443b15159016d2ee 100644 (file)
@@ -1017,9 +1017,15 @@ bool ReplicatedPG::snap_trimmer()
     if (snap_trimmer_machine.need_share_pg_info) {
       dout(10) << "snap_trimmer share_pg_info" << dendl;
       snap_trimmer_machine.need_share_pg_info = false;
+      epoch_t cur_epoch = osd->osdmap->get_epoch();
       unlock();
       osd->map_lock.get_read();
       lock();
+      if (last_peering_reset > cur_epoch) {
+       osd->map_lock.put_read();
+       unlock();
+       return true;
+      }
       share_pg_info();
       osd->map_lock.put_read();
     }