PGTransaction *_t,
const eversion_t &trim_to,
const eversion_t &trim_rollback_to,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_history,
Context *on_local_applied_sync,
Context *on_all_applied,
op->version = at_version;
op->trim_to = trim_to;
op->trim_rollback_to = trim_rollback_to;
- op->log_entries.swap(log_entries);
+ op->log_entries = log_entries;
std::swap(op->updated_hit_set_history, hset_history);
op->on_local_applied_sync = on_local_applied_sync;
op->on_all_applied = on_all_applied;
PGTransaction *t,
const eversion_t &trim_to,
const eversion_t &trim_rollback_to,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_history,
Context *on_local_applied_sync,
Context *on_all_applied,
}
}
-void PG::add_log_entry(pg_log_entry_t& e, bufferlist& log_bl)
+void PG::add_log_entry(const pg_log_entry_t& e, bufferlist& log_bl)
{
// raise last_complete only if we were previously up to date
if (info.last_complete == info.last_update)
void PG::append_log(
- vector<pg_log_entry_t>& logv,
+ const vector<pg_log_entry_t>& logv,
eversion_t trim_to,
eversion_t trim_rollback_to,
ObjectStore::Transaction &t,
dout(10) << "append_log " << pg_log.get_log() << " " << logv << dendl;
map<string,bufferlist> keys;
- for (vector<pg_log_entry_t>::iterator p = logv.begin();
+ for (vector<pg_log_entry_t>::const_iterator p = logv.begin();
p != logv.end();
++p) {
add_log_entry(*p, keys[p->get_key_name()]);
}
void PG::update_snap_map(
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
ObjectStore::Transaction &t)
{
- for (vector<pg_log_entry_t>::iterator i = log_entries.begin();
+ for (vector<pg_log_entry_t>::const_iterator i = log_entries.begin();
i != log_entries.end();
++i) {
OSDriver::OSTransaction _t(osdriver.get_transaction(&t));
} else {
assert(i->snaps.length() > 0);
vector<snapid_t> snaps;
- bufferlist::iterator p = i->snaps.begin();
+ bufferlist snapbl = i->snaps;
+ bufferlist::iterator p = snapbl.begin();
try {
::decode(snaps, p);
} catch (...) {
return at_version;
}
- void add_log_entry(pg_log_entry_t& e, bufferlist& log_bl);
+ void add_log_entry(const pg_log_entry_t& e, bufferlist& log_bl);
void append_log(
- vector<pg_log_entry_t>& logv,
+ const vector<pg_log_entry_t>& logv,
eversion_t trim_to,
eversion_t trim_rollback_to,
ObjectStore::Transaction &t,
static bool _has_removal_flag(ObjectStore *store, spg_t pgid);
static epoch_t peek_map_epoch(ObjectStore *store, spg_t pgid, bufferlist *bl);
void update_snap_map(
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
ObjectStore::Transaction& t);
void filter_snapc(vector<snapid_t> &snaps);
const hobject_t &hoid) = 0;
virtual void log_operation(
- vector<pg_log_entry_t> &logv,
+ const vector<pg_log_entry_t> &logv,
boost::optional<pg_hit_set_history_t> &hset_history,
const eversion_t &trim_to,
const eversion_t &trim_rollback_to,
PGTransaction *t, ///< [in] trans to execute
const eversion_t &trim_to, ///< [in] trim log to here
const eversion_t &trim_rollback_to, ///< [in] trim rollback info to here
- vector<pg_log_entry_t> &log_entries, ///< [in] log entries for t
+ const vector<pg_log_entry_t> &log_entries, ///< [in] log entries for t
/// [in] hitset history (if updated with this transaction)
boost::optional<pg_hit_set_history_t> &hset_history,
Context *on_local_applied_sync, ///< [in] called when applied locally
}
// actors
- void add(pg_log_entry_t& e) {
+ void add(const pg_log_entry_t& e) {
// add to log
log.push_back(e);
void unindex() { log.unindex(); }
- void add(pg_log_entry_t& e) {
+ void add(const pg_log_entry_t& e) {
mark_writeout_from(e.version);
log.add(e);
}
PGTransaction *_t,
const eversion_t &trim_to,
const eversion_t &trim_rollback_to,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_history,
Context *on_local_applied_sync,
Context *on_all_acked,
PGTransaction *t,
const eversion_t &trim_to,
const eversion_t &trim_rollback_to,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_history,
Context *on_local_applied_sync,
Context *on_all_applied,
eversion_t pg_trim_rollback_to,
hobject_t new_temp_oid,
hobject_t discard_temp_oid,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_history,
InProgressOp *op,
ObjectStore::Transaction *op_t,
eversion_t pg_trim_rollback_to,
hobject_t new_temp_oid,
hobject_t discard_temp_oid,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_history,
InProgressOp *op,
ObjectStore::Transaction *op_t);
eversion_t pg_trim_rollback_to,
hobject_t new_temp_oid,
hobject_t discard_temp_oid,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_hist,
InProgressOp *op,
ObjectStore::Transaction *op_t,
eversion_t pg_trim_rollback_to,
hobject_t new_temp_oid,
hobject_t discard_temp_oid,
- vector<pg_log_entry_t> &log_entries,
+ const vector<pg_log_entry_t> &log_entries,
boost::optional<pg_hit_set_history_t> &hset_hist,
InProgressOp *op,
ObjectStore::Transaction *op_t)
return get_object_context(hoid, true, &attrs);
}
void log_operation(
- vector<pg_log_entry_t> &logv,
+ const vector<pg_log_entry_t> &logv,
boost::optional<pg_hit_set_history_t> &hset_history,
const eversion_t &trim_to,
const eversion_t &trim_rollback_to,