return cur_epoch;
}
-void PG::write_log(ObjectStore::Transaction& t)
+void PG::_write_log(ObjectStore::Transaction& t, pg_log_t &log,
+ const hobject_t &log_oid, map<eversion_t, hobject_t> &divergent_priors)
{
- dout(10) << "write_log" << dendl;
+ //dout(10) << "write_log" << dendl;
t.remove(coll_t::META_COLL, log_oid);
t.touch(coll_t::META_COLL, log_oid);
map<string,bufferlist> keys;
p->encode_with_checksum(bl);
keys[p->get_key_name()].claim(bl);
}
- dout(10) << "write_log " << keys.size() << " keys" << dendl;
+ //dout(10) << "write_log " << keys.size() << " keys" << dendl;
- ::encode(ondisklog.divergent_priors, keys["divergent_priors"]);
+ ::encode(divergent_priors, keys["divergent_priors"]);
t.omap_setkeys(coll_t::META_COLL, log_oid, keys);
+}
+void PG::write_log(ObjectStore::Transaction& t)
+{
+ _write_log(t, log, log_oid, ondisklog.divergent_priors);
dirty_log = false;
}
interval_set<snapid_t> &snap_collections,
hobject_t &infos_oid,
__u8 info_struct_v, bool dirty_big_info);
+ static void _write_log(ObjectStore::Transaction& t, pg_log_t &log,
+ const hobject_t &log_oid, map<eversion_t, hobject_t> &divergent_priors);
void write_if_dirty(ObjectStore::Transaction& t);
void add_log_entry(pg_log_entry_t& e, bufferlist& log_bl);