]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/db/flush_job.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / rocksdb / db / flush_job.h
index 1f4435f4c5ea02a4a981710239c1f2865c586039..785cfc9bc6b29708e2b0529207481e38a2c03c71 100644 (file)
@@ -67,11 +67,14 @@ class FlushJob {
            std::vector<SequenceNumber> existing_snapshots,
            SequenceNumber earliest_write_conflict_snapshot,
            SnapshotChecker* snapshot_checker, JobContext* job_context,
-           LogBuffer* log_buffer, Directory* db_directory,
-           Directory* output_file_directory, CompressionType output_compression,
-           Statistics* stats, EventLogger* event_logger, bool measure_io_stats,
+           LogBuffer* log_buffer, FSDirectory* db_directory,
+           FSDirectory* output_file_directory,
+           CompressionType output_compression, Statistics* stats,
+           EventLogger* event_logger, bool measure_io_stats,
            const bool sync_output_directory, const bool write_manifest,
-           Env::Priority thread_pri);
+           Env::Priority thread_pri, const std::shared_ptr<IOTracer>& io_tracer,
+           const std::string& db_id = "", const std::string& db_session_id = "",
+           std::string full_history_ts_low = "");
 
   ~FlushJob();
 
@@ -89,6 +92,9 @@ class FlushJob {
   }
 #endif  // !ROCKSDB_LITE
 
+  // Return the IO status
+  IOStatus io_status() const { return io_status_; }
+
  private:
   void ReportStartedFlush();
   void ReportFlushInputSize(const autovector<MemTable*>& mems);
@@ -99,6 +105,8 @@ class FlushJob {
 #endif  // !ROCKSDB_LITE
 
   const std::string& dbname_;
+  const std::string db_id_;
+  const std::string db_session_id_;
   ColumnFamilyData* cfd_;
   const ImmutableDBOptions& db_options_;
   const MutableCFOptions& mutable_cf_options_;
@@ -117,8 +125,8 @@ class FlushJob {
   SnapshotChecker* snapshot_checker_;
   JobContext* job_context_;
   LogBuffer* log_buffer_;
-  Directory* db_directory_;
-  Directory* output_file_directory_;
+  FSDirectory* db_directory_;
+  FSDirectory* output_file_directory_;
   CompressionType output_compression_;
   Statistics* stats_;
   EventLogger* event_logger_;
@@ -153,6 +161,11 @@ class FlushJob {
   Version* base_;
   bool pick_memtable_called;
   Env::Priority thread_pri_;
+  IOStatus io_status_;
+
+  const std::shared_ptr<IOTracer> io_tracer_;
+
+  const std::string full_history_ts_low_;
 };
 
 }  // namespace ROCKSDB_NAMESPACE