]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson: move PG::prepare_write() to .cc file
authorKefu Chai <kchai@redhat.com>
Tue, 14 Jan 2020 05:50:16 +0000 (13:50 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 14 Jan 2020 06:25:20 +0000 (14:25 +0800)
less cluttered this way

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/osd/pg.cc
src/crimson/osd/pg.h

index 28953c0bd03d18285799565f8d15952736aefd4a..3955dd7765d299dd35f9e0bc002815f86c44970a 100644 (file)
@@ -233,6 +233,39 @@ void PG::on_activate_complete()
   }
 }
 
+void PG::prepare_write(pg_info_t &info,
+                      pg_info_t &last_written_info,
+                      PastIntervals &past_intervals,
+                      PGLog &pglog,
+                      bool dirty_info,
+                      bool dirty_big_info,
+                      bool need_write_epoch,
+                      ceph::os::Transaction &t)
+{
+  std::map<string,bufferlist> km;
+  if (dirty_big_info || dirty_info) {
+    int ret = prepare_info_keymap(
+      shard_services.get_cct(),
+      &km,
+      get_osdmap_epoch(),
+      info,
+      last_written_info,
+      past_intervals,
+      dirty_big_info,
+      need_write_epoch,
+      true,
+      nullptr,
+      this);
+    ceph_assert(ret == 0);
+  }
+  pglog.write_log_and_missing(
+    t, &km, coll, pgmeta_oid,
+    peering_state.get_pool().info.require_rollback());
+  if (!km.empty()) {
+    t.omap_setkeys(coll, pgmeta_oid, km);
+  }
+}
+
 void PG::log_state_enter(const char *state) {
   logger().info("Entering state: {}", state);
 }
index 9374830c33a3598940b832b015fddfcff5c8845b..ad4aadde24cafa978e98143edffa5f73edc73f76 100644 (file)
@@ -119,29 +119,7 @@ public:
     bool dirty_info,
     bool dirty_big_info,
     bool need_write_epoch,
-    ceph::os::Transaction &t) final {
-    std::map<string,bufferlist> km;
-    if (dirty_big_info || dirty_info) {
-      int ret = prepare_info_keymap(
-       shard_services.get_cct(),
-       &km,
-       get_osdmap_epoch(),
-       info,
-       last_written_info,
-       past_intervals,
-       dirty_big_info,
-       need_write_epoch,
-       true,
-       nullptr,
-       this);
-      ceph_assert(ret == 0);
-    }
-    pglog.write_log_and_missing(
-      t, &km, coll, pgmeta_oid,
-      peering_state.get_pool().info.require_rollback());
-    if (!km.empty())
-      t.omap_setkeys(coll, pgmeta_oid, km);
-  }
+    ceph::os::Transaction &t) final;
 
   void on_info_history_change() final {
     // Not needed yet -- mainly for scrub scheduling