diff options
author | Samuel Just <sam.just@inktank.com> | 2013-07-18 19:25:14 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-07-19 14:51:43 -0700 |
commit | f388ea7583cc325fa157539d4246d3ba334ebf7a (patch) | |
tree | 0fa606fba433023060115d1e1e721e6a9859c312 | |
parent | 08aa499a0c455e0a30ec87df0bea41bf74ae7f0d (diff) | |
download | ceph-f388ea7583cc325fa157539d4246d3ba334ebf7a.tar.gz |
PG, ReplicatedPG: pass a transaction down to ReplicatedPG::on_change
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 9f56a7b8bfcb63cb4fbbc0c9b8ff01de9e518c57)
-rw-r--r-- | src/osd/PG.cc | 8 | ||||
-rw-r--r-- | src/osd/PG.h | 5 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.cc | 2 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.h | 2 |
4 files changed, 10 insertions, 7 deletions
diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 935ebe7f42c..442795015f6 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -5014,7 +5014,8 @@ void PG::start_flush(ObjectStore::Transaction *t, /* Called before initializing peering during advance_map */ void PG::start_peering_interval(const OSDMapRef lastmap, const vector<int>& newup, - const vector<int>& newacting) + const vector<int>& newacting, + ObjectStore::Transaction *t) { const OSDMapRef osdmap = get_osdmap(); @@ -5103,7 +5104,7 @@ void PG::start_peering_interval(const OSDMapRef lastmap, // pg->on_* - on_change(); + on_change(t); assert(!deleting); @@ -5978,7 +5979,8 @@ boost::statechart::result PG::RecoveryState::Reset::react(const AdvMap& advmap) pg->is_split(advmap.lastmap, advmap.osdmap)) { dout(10) << "up or acting affected, calling start_peering_interval again" << dendl; - pg->start_peering_interval(advmap.lastmap, advmap.newup, advmap.newacting); + pg->start_peering_interval(advmap.lastmap, advmap.newup, advmap.newacting, + context< RecoveryMachine >().get_cur_transaction()); } return discard_event(); } diff --git a/src/osd/PG.h b/src/osd/PG.h index b959a9f8490..f56d96d0198 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -1927,7 +1927,8 @@ public: void start_peering_interval(const OSDMapRef lastmap, const vector<int>& newup, - const vector<int>& newacting); + const vector<int>& newacting, + ObjectStore::Transaction *t); void start_flush(ObjectStore::Transaction *t, list<Context *> *on_applied, list<Context *> *on_safe); @@ -2009,7 +2010,7 @@ public: virtual bool same_for_rep_modify_since(epoch_t e) = 0; virtual void on_role_change() = 0; - virtual void on_change() = 0; + virtual void on_change(ObjectStore::Transaction *t) = 0; virtual void on_activate() = 0; virtual void on_flushed() = 0; virtual void on_shutdown() = 0; diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 860e7dd4546..f337bbb45de 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -6330,7 +6330,7 @@ void ReplicatedPG::on_activate() } } -void ReplicatedPG::on_change() +void ReplicatedPG::on_change(ObjectStore::Transaction *t) { dout(10) << "on_change" << dendl; diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index e70dd0a84f1..6bba4c57595 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -1001,7 +1001,7 @@ public: void _finish_mark_all_unfound_lost(list<ObjectContext*>& obcs); void on_role_change(); - void on_change(); + void on_change(ObjectStore::Transaction *t); void on_activate(); void on_flushed(); void on_removal(ObjectStore::Transaction *t); |