summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Farnum <greg@inktank.com>2013-09-30 16:27:39 -0700
committerGreg Farnum <greg@inktank.com>2013-10-01 16:28:51 -0700
commit1ae8ef28e7c511ac754429c8c061513fdf1c22b6 (patch)
tree8e2539df069a44d30071ee7bfce4ae16b500ba26
parent6ed8b7ae56d88c586e3d359e649b41b892d3cee1 (diff)
downloadceph-1ae8ef28e7c511ac754429c8c061513fdf1c22b6.tar.gz
ReplicatedPG: copy: take an ObjectContextRef in start_copy and use that
Signed-off-by: Greg Farnum <greg@inktank.com>
-rw-r--r--src/osd/ReplicatedPG.cc10
-rw-r--r--src/osd/ReplicatedPG.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index aba0a1067c0..cfac7dd7db2 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -3764,7 +3764,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
result = -EINVAL;
break;
}
- result = start_copy(ctx, src, src_oloc, src_version);
+ result = start_copy(ctx, ctx->obc, src, src_oloc, src_version);
if (result < 0)
goto fail;
result = -EINPROGRESS;
@@ -4379,7 +4379,7 @@ struct C_Copyfrom : public Context {
}
};
-int ReplicatedPG::start_copy(OpContext *ctx,
+int ReplicatedPG::start_copy(OpContext *ctx, ObjectContextRef obc,
hobject_t src, object_locator_t oloc, version_t version)
{
const hobject_t& dest = ctx->obs->oi.soid;
@@ -4395,12 +4395,12 @@ int ReplicatedPG::start_copy(OpContext *ctx,
cancel_copy(cop);
}
- CopyOpRef cop(new CopyOp(ctx, ctx->obc, src, oloc, version));
+ CopyOpRef cop(new CopyOp(ctx, obc, src, oloc, version));
copy_ops[dest] = cop;
ctx->copy_op = cop;
- ++ctx->obc->copyfrom_readside;
+ ++obc->copyfrom_readside;
- _copy_some(ctx->obc, cop);
+ _copy_some(obc, cop);
return 0;
}
diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h
index c968ad3ea2f..5f0c97b3716 100644
--- a/src/osd/ReplicatedPG.h
+++ b/src/osd/ReplicatedPG.h
@@ -723,7 +723,7 @@ protected:
// -- copyfrom --
map<hobject_t, CopyOpRef> copy_ops;
- int start_copy(OpContext *ctx, hobject_t src, object_locator_t oloc, version_t version);
+ int start_copy(OpContext *ctx, ObjectContextRef obc, 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(ObjectContextRef obc, CopyOpRef cop);