]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: dump transitions in RGWLifecycleConfiguration::dump() 36812/head
authorShengming Zhang <zhangsm01@inspur.com>
Sat, 18 Jul 2020 06:16:34 +0000 (14:16 +0800)
committerShengming Zhang <zhangsm01@inspur.com>
Fri, 28 Aug 2020 01:43:32 +0000 (09:43 +0800)
Signed-off-by: Shengming Zhang <zhangsm01@inspur.com>
(cherry picked from commit c843b6f08799c1fef39a4a6fd24c27207d1e951e)

src/rgw/rgw_json_enc.cc
src/rgw/rgw_lc.h

index dec0e32dfd99b6b2c278e2a0a8f993c121ea9f16..bce7817e45d4761703b1550e70f7f75d7e1b5054 100644 (file)
@@ -1992,6 +1992,17 @@ void lc_op::dump(Formatter *f) const
   if (obj_tags) {
     f->dump_object("obj_tags", *obj_tags);
   }
+  f->open_object_section("transitions");  
+  for(auto& [storage_class, transition] : transitions) {
+    f->dump_object(storage_class, transition);
+  }
+  f->close_section();
+
+  f->open_object_section("noncur_transitions");  
+  for (auto& [storage_class, transition] : noncur_transitions) {
+    f->dump_object(storage_class, transition);
+  }
+  f->close_section();
 }
 
 void LCFilter::dump(Formatter *f) const
@@ -2015,6 +2026,17 @@ void LCRule::dump(Formatter *f) const
   f->dump_object("noncur_expiration", noncur_expiration);
   f->dump_object("mp_expiration", mp_expiration);
   f->dump_object("filter", filter);
+  f->open_object_section("transitions");  
+  for (auto& [storage_class, transition] : transitions) {
+    f->dump_object(storage_class, transition);
+  }
+  f->close_section();
+
+  f->open_object_section("noncur_transitions");  
+  for (auto& [storage_class, transition] : noncur_transitions) {
+    f->dump_object(storage_class, transition);
+  }
+  f->close_section();
   f->dump_bool("dm_expiration", dm_expiration);
 }
 
@@ -2068,4 +2090,3 @@ void rgw_user::dump(Formatter *f) const
 {
   ::encode_json("user", *this, f);
 }
-
index 32de9581664cd143ebc98b224946a39f48d96ee7..039e573104b243426c7f42d3b6ba63c500e382d3 100644 (file)
@@ -152,7 +152,11 @@ public:
     decode(storage_class, bl);
     DECODE_FINISH(bl);
   }
-  void dump(Formatter *f) const;
+  void dump(Formatter *f) const {  
+    f->dump_string("days", days);
+    f->dump_string("date", date);
+    f->dump_string("storage_class", storage_class);
+  }
 };
 WRITE_CLASS_ENCODER(LCTransition)
 
@@ -369,6 +373,14 @@ struct transition_action
   boost::optional<ceph::real_time> date;
   string storage_class;
   transition_action() : days(0) {}
+  void dump(Formatter *f) const {
+    if (!date) {
+      f->dump_int("days", days);
+    } else {
+      utime_t ut(*date);
+      f->dump_stream("date") << ut;
+    }
+  }
 };
 
 /* XXX why not LCRule? */