]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/journal/JournalRecorder.h
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / journal / JournalRecorder.h
index 93c0e9e5bb7f64ed5612adaef26f09b359d5f685..382f75acef9c60ad65d0fb2d9cca7353903d3884 100644 (file)
@@ -23,10 +23,14 @@ class JournalRecorder {
 public:
   JournalRecorder(librados::IoCtx &ioctx, const std::string &object_oid_prefix,
                   const JournalMetadataPtr &journal_metadata,
-                  uint32_t flush_interval, uint64_t flush_bytes,
-                  double flush_age, uint64_t max_in_flight_appends);
+                  uint64_t max_in_flight_appends);
   ~JournalRecorder();
 
+  void shut_down(Context *on_safe);
+
+  void set_append_batch_options(int flush_interval, uint64_t flush_bytes,
+                                double flush_age);
+
   Future append(uint64_t tag_tid, const bufferlist &bl);
   void flush(Context *on_safe);
 
@@ -78,9 +82,9 @@ private:
 
   JournalMetadataPtr m_journal_metadata;
 
-  uint32_t m_flush_interval;
-  uint64_t m_flush_bytes;
-  double m_flush_age;
+  uint32_t m_flush_interval = 0;
+  uint64_t m_flush_bytes = 0;
+  double m_flush_age = 0;
   uint64_t m_max_in_flight_appends;
 
   Listener m_listener;
@@ -96,6 +100,8 @@ private:
 
   FutureImplPtr m_prev_future;
 
+  Context *m_on_object_set_advanced = nullptr;
+
   void open_object_set();
   bool close_object_set(uint64_t active_set);
 
@@ -106,7 +112,7 @@ private:
 
   ObjectRecorderPtr create_object_recorder(uint64_t object_number,
                                            std::shared_ptr<Mutex> lock);
-  void create_next_object_recorder_unlock(ObjectRecorderPtr object_recorder);
+  void create_next_object_recorder(ObjectRecorderPtr object_recorder);
 
   void handle_update();