From: Greg Farnum Date: Wed, 4 May 2011 21:30:51 +0000 (-0700) Subject: OSD: assert contents exist when erasing from last_scrub_map. X-Git-Tag: v0.28~74^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=228e857eea18ee13bfc3024aaef5f79d0598d4bc;p=ceph.git OSD: assert contents exist when erasing from last_scrub_map. Insert PG into last_scrub_map on creation so that this doesn't break right away. Signed-off-by: Greg Farnum --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 6ca4e72f90f6..cd7e363eaf76 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1011,6 +1011,8 @@ PG *OSD::_create_lock_new_pg(pg_t pgid, vector& 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; } diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 40ff50644ba1..acfb062966a2 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -836,6 +836,7 @@ protected: void unreg_last_pg_scrub(pg_t pgid, utime_t t) { Mutex::Locker l(sched_scrub_lock); pair p(t, pgid); + assert(last_scrub_pg.count(p)); last_scrub_pg.erase(p); }