]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: do not double-write log entries 3878/head
authorSage Weil <sage@redhat.com>
Wed, 25 Mar 2015 17:34:45 +0000 (10:34 -0700)
committerSage Weil <sage@redhat.com>
Wed, 25 Mar 2015 17:34:45 +0000 (10:34 -0700)
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 <sage@redhat.com>
src/osd/PG.cc
src/osd/PG.h

index 064ffaea9d53dd6d248a80ca13c08bfb78ddd4a2..0e8aced6c587518bc9a7b5c142f71796634850eb 100644 (file)
@@ -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<string,bufferlist> keys;
   for (vector<pg_log_entry_t>::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
index c213a5015a694988ce018107471d3003eb0e0d20..6415e1c0790d90b55ee3b7e9e4c1f4a28b71cd28 100644 (file)
@@ -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<pg_log_entry_t>& logv,
     eversion_t trim_to,