]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: assert contents exist when erasing from last_scrub_map.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 4 May 2011 21:30:51 +0000 (14:30 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 4 May 2011 21:30:51 +0000 (14:30 -0700)
Insert PG into last_scrub_map on creation so that this doesn't
break right away.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/osd/OSD.cc
src/osd/OSD.h

index 6ca4e72f90f6fe3d4dbaaa586d89820f39d99563..cd7e363eaf765e0464d63588fb09b65829bf380e 100644 (file)
@@ -1011,6 +1011,8 @@ PG *OSD::_create_lock_new_pg(pg_t pgid, vector<int>& acting, ObjectStore::Transa
   pg->write_info(t);
   pg->write_log(t);
   
+  reg_last_pg_scrub(pg->info.pgid, pg->info.history.last_scrub_stamp);
+
   dout(7) << "_create_lock_new_pg " << *pg << dendl;
   return pg;
 }
index 40ff50644ba19f355e0be013e886d63854f430c6..acfb062966a2df9b0cd3bc29ee5f03ac9c94f7fd 100644 (file)
@@ -836,6 +836,7 @@ protected:
   void unreg_last_pg_scrub(pg_t pgid, utime_t t) {
     Mutex::Locker l(sched_scrub_lock);
     pair<utime_t,pg_t> p(t, pgid);
+    assert(last_scrub_pg.count(p));
     last_scrub_pg.erase(p);
   }