]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Create static PG::_write_log() function
authorDavid Zafman <david.zafman@inktank.com>
Sat, 6 Apr 2013 04:39:34 +0000 (21:39 -0700)
committerDavid Zafman <david.zafman@inktank.com>
Sat, 20 Apr 2013 00:08:36 +0000 (17:08 -0700)
Signed-off-by: David Zafman <david.zafman@inktank.com>
src/osd/PG.cc
src/osd/PG.h

index 78c05246ea97cfcae47286a301d287b608032041..cebeaa4b577e085bba4b9ee1e3fc21ed137849c0 100644 (file)
@@ -2579,9 +2579,10 @@ epoch_t PG::peek_map_epoch(ObjectStore *store, coll_t coll, hobject_t &infos_oid
   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;
@@ -2592,12 +2593,16 @@ void PG::write_log(ObjectStore::Transaction& t)
     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;
 }
 
index 5ab9caa2ebe9c6a4447a4fda664944af62fb0686..d4bdbc8e4cfa82a2993c45cf28628d5f0ff543ff 100644 (file)
@@ -1837,6 +1837,8 @@ public:
     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);