summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-09-03 11:05:35 -0700
committerSamuel Just <sam.just@inktank.com>2013-09-14 00:45:32 -0700
commita4ef3de6773d806b0ecfa5c5f1ee1de0c22dac21 (patch)
tree3e11f1513368d1e21b3a3e4be7810a933ead5169
parent5361f3501df24d73e2aeb75027707fc144e44dce (diff)
downloadceph-a4ef3de6773d806b0ecfa5c5f1ee1de0c22dac21.tar.gz
ReplicatedPG/Backend: shuffle over submit_push_*/build_push_op
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r--src/osd/ReplicatedBackend.h6
-rw-r--r--src/osd/ReplicatedPG.cc30
-rw-r--r--src/osd/ReplicatedPG.h16
3 files changed, 20 insertions, 32 deletions
diff --git a/src/osd/ReplicatedBackend.h b/src/osd/ReplicatedBackend.h
index 39e75879b62..b143a8932b7 100644
--- a/src/osd/ReplicatedBackend.h
+++ b/src/osd/ReplicatedBackend.h
@@ -236,7 +236,7 @@ private:
int build_push_op(const ObjectRecoveryInfo &recovery_info,
const ObjectRecoveryProgress &progress,
ObjectRecoveryProgress *out_progress,
- PushOp *out_op) { return 1; }
+ PushOp *out_op);
void submit_push_data(ObjectRecoveryInfo &recovery_info,
bool first,
bool complete,
@@ -245,9 +245,9 @@ private:
bufferlist omap_header,
map<string, bufferptr> &attrs,
map<string, bufferlist> &omap_entries,
- ObjectStore::Transaction *t) {}
+ ObjectStore::Transaction *t);
void submit_push_complete(ObjectRecoveryInfo &recovery_info,
- ObjectStore::Transaction *t) {}
+ ObjectStore::Transaction *t);
};
#endif
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index e439cbe7824..81b4d1ad387 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -5961,13 +5961,15 @@ void ReplicatedPG::prep_push(
pi.recovery_progress.data_complete = 0;
pi.recovery_progress.omap_complete = 0;
pi.priority = prio;
-
+// TODOSAM: replace
+#if 0
ObjectRecoveryProgress new_progress;
build_push_op(pi.recovery_info,
pi.recovery_progress,
&new_progress,
pop);
pi.recovery_progress = new_progress;
+#endif
}
int ReplicatedBackend::send_pull_legacy(int prio, int peer,
@@ -6002,7 +6004,7 @@ int ReplicatedBackend::send_pull_legacy(int prio, int peer,
return 0;
}
-void ReplicatedPG::submit_push_data(
+void ReplicatedBackend::submit_push_data(
ObjectRecoveryInfo &recovery_info,
bool first,
bool complete,
@@ -6024,7 +6026,7 @@ void ReplicatedPG::submit_push_data(
}
if (first) {
- on_local_recover_start(recovery_info.soid, t);
+ get_parent()->on_local_recover_start(recovery_info.soid, t);
t->remove(get_temp_coll(t), recovery_info.soid);
t->touch(target_coll, recovery_info.soid);
t->omap_setheader(target_coll, recovery_info.soid, omap_header);
@@ -6058,8 +6060,8 @@ void ReplicatedPG::submit_push_data(
}
}
-void ReplicatedPG::submit_push_complete(ObjectRecoveryInfo &recovery_info,
- ObjectStore::Transaction *t)
+void ReplicatedBackend::submit_push_complete(ObjectRecoveryInfo &recovery_info,
+ ObjectStore::Transaction *t)
{
for (map<hobject_t, interval_set<uint64_t> >::const_iterator p =
recovery_info.clone_subset.begin();
@@ -6326,10 +6328,10 @@ void ReplicatedBackend::send_pulls(int prio, map<int, vector<PullOp> > &pulls)
}
}
-int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
- const ObjectRecoveryProgress &progress,
- ObjectRecoveryProgress *out_progress,
- PushOp *out_op)
+int ReplicatedBackend::build_push_op(const ObjectRecoveryInfo &recovery_info,
+ const ObjectRecoveryProgress &progress,
+ ObjectRecoveryProgress *out_progress,
+ PushOp *out_op)
{
ObjectRecoveryProgress _new_progress;
if (!out_progress)
@@ -6353,7 +6355,7 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
object_info_t oi(bv);
if (oi.version != recovery_info.version) {
- osd->clog.error() << info.pgid << " push "
+ osd->clog.error() << get_info().pgid << " push "
<< recovery_info.soid << " v "
<< " failed because local copy is "
<< oi.version << "\n";
@@ -6416,11 +6418,13 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info,
if (new_progress.is_complete(recovery_info)) {
new_progress.data_complete = true;
- info.stats.stats.sum.num_objects_recovered++;
+ // TODOSAM: fix
+ //info.stats.stats.sum.num_objects_recovered++;
}
- info.stats.stats.sum.num_keys_recovered += out_op->omap_entries.size();
- info.stats.stats.sum.num_bytes_recovered += out_op->data.length();
+ // TODOSAM: fix
+ //info.stats.stats.sum.num_keys_recovered += out_op->omap_entries.size();
+ //info.stats.stats.sum.num_bytes_recovered += out_op->data.length();
osd->logger->inc(l_osd_push);
osd->logger->inc(l_osd_push_outb, out_op->data.length());
diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h
index d41204268c6..5b28b0955c9 100644
--- a/src/osd/ReplicatedPG.h
+++ b/src/osd/ReplicatedPG.h
@@ -543,23 +543,7 @@ protected:
set<hobject_t> temp_contents;
ObjectRecoveryInfo recalc_subsets(const ObjectRecoveryInfo& recovery_info);
- int build_push_op(const ObjectRecoveryInfo &recovery_info,
- const ObjectRecoveryProgress &progress,
- ObjectRecoveryProgress *out_progress,
- PushOp *out_op);
- void submit_push_data(ObjectRecoveryInfo &recovery_info,
- bool first,
- bool complete,
- const interval_set<uint64_t> &intervals_included,
- bufferlist data_included,
- bufferlist omap_header,
- map<string, bufferptr> &attrs,
- map<string, bufferlist> &omap_entries,
- ObjectStore::Transaction *t);
- void submit_push_complete(ObjectRecoveryInfo &recovery_info,
- ObjectStore::Transaction *t);
-
/*
* Backfill
*