int _minimal_open_bluefs(bool create);
void _minimal_close_bluefs();
int _open_bluefs(bool create);
- void _close_bluefs();
+ void _close_bluefs(bool cold_close);
// Limited (u)mount intended for BlueFS operations only
int _mount_for_bluefs();
* in the proper order
*/
int _open_db_and_around(bool read_only);
- void _close_db_and_around();
+ void _close_db_and_around(bool read_only);
// updates legacy bluefs related recs in DB to a state valid for
// downgrades from nautilus.
int _open_db(bool create,
bool to_repair_db=false,
bool read_only = false);
- void _close_db();
- int _open_fm(KeyValueDB::Transaction t);
+ void _close_db(bool read_only);
+ int _open_fm(KeyValueDB::Transaction t, bool read_only);
void _close_fm();
+ int _write_out_fm_meta(uint64_t target_size,
+ bool update_root_size = false,
+ bluestore_bdev_label_t* res_label = nullptr);
int _open_alloc();
void _close_alloc();
int _open_collections();
// -- ondisk version ---
public:
- const int32_t latest_ondisk_format = 3; ///< our version
+ const int32_t latest_ondisk_format = 4; ///< our version
const int32_t min_readable_ondisk_format = 1; ///< what we can read
const int32_t min_compat_ondisk_format = 3; ///< who can read us
int expand_devices(ostream& out);
string get_device_path(unsigned id);
+ int dump_bluefs_sizes(ostream& out);
+
public:
int statfs(struct store_statfs_t *buf,
osd_alert_list_t* alerts = nullptr) override;