diff options
author | Greg Farnum <greg@inktank.com> | 2013-10-10 09:37:35 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-10-10 09:37:35 -0700 |
commit | 5be7db92ee984ba96226ced2f953f78187a5f97b (patch) | |
tree | 745eb352df0a1f1f14997f1a0783ad5b6dcf331c | |
parent | 4f40cc881d60bdda128664610614ead150167064 (diff) | |
download | ceph-5be7db92ee984ba96226ced2f953f78187a5f97b.tar.gz |
ReplicatedPG: promote: add the OpRequest to the Callback
This way we can do stuff to it, and we're about to.
Signed-off-by: Greg Farnum <greg@inktank.com>
-rw-r--r-- | src/osd/ReplicatedPG.cc | 2 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.h | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 504d8fc091d..7242f217b84 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1209,7 +1209,7 @@ void ReplicatedPG::promote_object(OpRequestRef op, ObjectContextRef obc) } hobject_t temp_target = generate_temp_object(); - PromoteCallback *cb = new PromoteCallback(obc, temp_target, this); + PromoteCallback *cb = new PromoteCallback(op, obc, temp_target, this); object_locator_t oloc(m->get_object_locator()); oloc.pool = pool.info.tier_of; start_copy(cb, obc, obc->obs.oi.soid, oloc, 0, temp_target); diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 1e5b38fca80..e57df429279 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -207,13 +207,15 @@ public: friend class CopyFromCallback; class PromoteCallback: public CopyCallback { + OpRequestRef op; ObjectContextRef obc; hobject_t temp_obj; ReplicatedPG *pg; public: - PromoteCallback(ObjectContextRef obc_, const hobject_t& temp_obj_, + PromoteCallback(OpRequestRef op_, ObjectContextRef obc_, + const hobject_t& temp_obj_, ReplicatedPG *pg_) : - obc(obc_), temp_obj(temp_obj_), pg(pg_) {} + op(op_), obc(obc_), temp_obj(temp_obj_), pg(pg_) {} virtual void finish(CopyCallbackResults results) { CopyResults* results_data = results.get<1>(); |