]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/os/bluestore/FreelistManager.h
import 15.2.2 octopus source
[ceph.git] / ceph / src / os / bluestore / FreelistManager.h
index 56e05d1434a01bc80460ef4855aeaa1172813d52..300112e13ef86c86cd1d2235df0838cad89a3664 100644 (file)
@@ -5,10 +5,11 @@
 #define CEPH_OS_BLUESTORE_FREELISTMANAGER_H
 
 #include <string>
-#include <map>
+#include <vector>
 #include <mutex>
 #include <ostream>
 #include "kv/KeyValueDB.h"
+#include "bluestore_types.h"
 
 class FreelistManager {
 public:
@@ -26,10 +27,10 @@ public:
   virtual int create(uint64_t size, uint64_t granularity,
                     KeyValueDB::Transaction txn) = 0;
 
-  virtual int expand(uint64_t new_size,
-                    KeyValueDB::Transaction txn) = 0;
-
-  virtual int init(KeyValueDB *kvdb) = 0;
+  virtual int init(const bluestore_bdev_label_t& l,
+    KeyValueDB *kvdb,
+    bool db_in_read_only) = 0;
+  virtual void sync(KeyValueDB* kvdb) = 0;
   virtual void shutdown() = 0;
 
   virtual void dump(KeyValueDB *kvdb) = 0;
@@ -48,6 +49,8 @@ public:
   virtual uint64_t get_alloc_units() const = 0;
   virtual uint64_t get_alloc_size() const = 0;
 
+  virtual void get_meta(uint64_t target_size,
+    std::vector<std::pair<string, string>>*) const = 0;
 };