From d605eafd178db105031f473084f9aac28940aaf7 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 30 May 2013 15:11:34 -0700 Subject: [PATCH] OSD: add pgid and res_map to DeletingState Signed-off-by: Samuel Just --- src/osd/OSD.cc | 7 ++++++- src/osd/OSD.h | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index dc0781d95d3b..8a4da41da8a3 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6063,7 +6063,12 @@ void OSD::_remove_pg(PG *pg) service.cancel_pending_splits_for_parent(pg->info.pgid); - DeletingStateRef deleting = service.deleting_pgs.lookup_or_create(pg->info.pgid); + DeletingStateRef deleting = service.deleting_pgs.lookup_or_create( + pg->info.pgid, + make_pair( + pg->info.pgid, + PGRef(pg)) + ); remove_wq.queue(make_pair(PGRef(pg), deleting)); store->queue_transaction( diff --git a/src/osd/OSD.h b/src/osd/OSD.h index a5d6e0ee148d..a91b657934b7 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -152,8 +152,11 @@ class DeletingState { } status; bool stop_deleting; public: - DeletingState() : - lock("DeletingState::lock"), status(QUEUED), stop_deleting(false) {} + const pg_t pgid; + const PGRef old_pg_state; + DeletingState(const pair &in) : + lock("DeletingState::lock"), status(QUEUED), stop_deleting(false), + pgid(in.first), old_pg_state(in.second) {} /// check whether removal was canceled bool check_canceled() { -- 2.47.3