#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:
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;
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;
};