]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: fill in rctx properly for pg->handle_create in get_or_create_pg
authorGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 4 May 2011 23:16:17 +0000 (16:16 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 4 May 2011 23:17:04 +0000 (16:17 -0700)
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/osd/OSD.cc

index 8dcad3119944312ff217c60e0f7b0c0a4936e6e2..9ed3336961fcea54452888859792f2123488b622 100644 (file)
@@ -1175,9 +1175,14 @@ PG *OSD::get_or_create_pg(const PG::Info& info, epoch_t epoch, int from, int& cr
     wake_pg_waiters(pg->info.pgid);
 
     map<int, map<pg_t, PG::Query> > query_map;
-    PG::RecoveryCtx rctx(&query_map, 0, 0, 0, 0); // GetInfo only needs a query_map
+    map<int, MOSDPGInfo*> info_map;
+    map<int, vector<PG::Info> > notify_list;
+    PG::RecoveryCtx rctx(&query_map, &info_map, &notify_list,
+                         &((*pfin)->contexts), *pt);
     pg->handle_create(&rctx);
     do_queries(query_map);
+    do_infos(info_map);
+    do_notifies(notify_list);
   } else {
     // already had it.  did the mapping change?
     pg = _lookup_lock_pg(info.pgid);