From: Sage Weil Date: Wed, 25 Mar 2015 17:34:45 +0000 (-0700) Subject: osd: do not double-write log entries X-Git-Tag: v9.0.0~67^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=edf64dd564f534457cc5096678f6f51123aa98b6;p=ceph.git osd: do not double-write log entries The pg_log.add() call already dirties the log such that the later write_log() call will write it. There is no need to encode it separately here and then explicitly omap_setkeys() it. Signed-off-by: Sage Weil --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 064ffaea9d53d..0e8aced6c5875 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -2893,7 +2893,7 @@ void PG::trim_peers() } } -void PG::add_log_entry(const pg_log_entry_t& e, bufferlist& log_bl) +void PG::add_log_entry(const pg_log_entry_t& e) { // raise last_complete only if we were previously up to date if (info.last_complete == info.last_update) @@ -2911,8 +2911,6 @@ void PG::add_log_entry(const pg_log_entry_t& e, bufferlist& log_bl) // log mutation pg_log.add(e); dout(10) << "add_log_entry " << e << dendl; - - e.encode_with_checksum(log_bl); } @@ -2936,11 +2934,10 @@ void PG::append_log( } dout(10) << "append_log " << pg_log.get_log() << " " << logv << dendl; - map keys; for (vector::const_iterator p = logv.begin(); p != logv.end(); ++p) { - add_log_entry(*p, keys[p->get_key_name()]); + add_log_entry(*p); } PGLogEntryHandler handler; @@ -2962,9 +2959,6 @@ void PG::append_log( trim_rollback_to)); } - dout(10) << "append_log adding " << keys.size() << " keys" << dendl; - t.omap_setkeys(coll, pgmeta_oid, keys); - pg_log.trim(&handler, trim_to, info); dout(10) << __func__ << ": trimming to " << trim_rollback_to diff --git a/src/osd/PG.h b/src/osd/PG.h index c213a5015a694..6415e1c0790d9 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -2126,7 +2126,7 @@ public: return at_version; } - void add_log_entry(const pg_log_entry_t& e, bufferlist& log_bl); + void add_log_entry(const pg_log_entry_t& e); void append_log( const vector& logv, eversion_t trim_to,