]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: copy: do not use an OpContext in _copy_some
authorGreg Farnum <greg@inktank.com>
Mon, 30 Sep 2013 22:36:27 +0000 (15:36 -0700)
committerGreg Farnum <greg@inktank.com>
Tue, 1 Oct 2013 20:29:23 +0000 (13:29 -0700)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h

index 7d4c79b955387cb3244311dbf73aef5b28174c23..846669d58db578db80b0c3752322d55fea131325 100644 (file)
@@ -4397,14 +4397,14 @@ int ReplicatedPG::start_copy(OpContext *ctx,
   ctx->copy_op = cop;
   ++ctx->obc->copyfrom_readside;
 
-  _copy_some(ctx, cop);
+  _copy_some(ctx->obc, cop);
 
   return 0;
 }
 
-void ReplicatedPG::_copy_some(OpContext *ctx, CopyOpRef cop)
+void ReplicatedPG::_copy_some(ObjectContextRef obc, CopyOpRef cop)
 {
-  dout(10) << __func__ << " " << ctx << " " << cop << dendl;
+  dout(10) << __func__ << " " << obc << " " << cop << dendl;
   ObjectOperation op;
   if (cop->version) {
     op.assert_version(cop->version);
@@ -4418,7 +4418,7 @@ void ReplicatedPG::_copy_some(OpContext *ctx, CopyOpRef cop)
              &cop->data, &cop->omap,
              &cop->rval);
 
-  C_Copyfrom *fin = new C_Copyfrom(this, ctx->obs->oi.soid,
+  C_Copyfrom *fin = new C_Copyfrom(this, obc->obs.oi.soid,
                                   get_last_peering_reset());
   osd->objecter_lock.Lock();
   tid_t tid = osd->objecter->read(cop->src.oid, cop->oloc, op,
@@ -4479,7 +4479,7 @@ void ReplicatedPG::process_copy_chunk(hobject_t oid, tid_t tid, int r)
     repop->put();
 
     dout(10) << __func__ << " fetching more" << dendl;
-    _copy_some(ctx, cop);
+    _copy_some(ctx->obc, cop);
     return;
   }
 
index abee57ffe7d657ccaf7dcfc0dd175d8272d10af1..f6898d80f13e96d6fa67b5f45039fca104107fd5 100644 (file)
@@ -725,7 +725,7 @@ protected:
   int start_copy(OpContext *ctx, hobject_t src, object_locator_t oloc, version_t version);
   void process_copy_chunk(hobject_t oid, tid_t tid, int r);
   void _write_copy_chunk(CopyOpRef cop, ObjectStore::Transaction *t);
-  void _copy_some(OpContext *ctx, CopyOpRef cop);
+  void _copy_some(ObjectContextRef obc, CopyOpRef cop);
   int finish_copy(OpContext *ctx);
   void cancel_copy(CopyOpRef cop);
   void cancel_copy_ops();