if (r != 0) return false;
return true;
}
+ bool read_bdev_label(bluestore_bdev_label_t* label, uint64_t position) {
+ string bdev_path = get_data_dir() + "/block";
+ int r = BlueStore::read_bdev_label(g_ceph_context, bdev_path, label, position);
+ return r;
+ }
+ bool write_bdev_label(const bluestore_bdev_label_t& label, uint64_t position) {
+ string bdev_path = get_data_dir() + "/block";
+ int r = BlueStore::write_bdev_label(g_ceph_context, bdev_path, label, position);
+ return r;
+ }
protected:
void DeferredSetup() {
StoreTest::SetUp();
}
umount();
bluestore_bdev_label_t label;
- int r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ int r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
ASSERT_EQ(label.meta.end(), label.meta.find("multi"));
mount();
}
umount();
bluestore_bdev_label_t label;
- int r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ int r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
auto it = label.meta.find("multi");
ASSERT_NE(label.meta.end(), it);
umount();
int r;
bluestore_bdev_label_t label;
- r = BlueStore::debug_read_bdev_label(g_ceph_context,
- get_data_dir()+"/block", &label, 0);
+ r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
label.meta["epoch"] = "1";
uuid_d new_id;
new_id.generate_random();
label.osd_uuid = new_id;
- r = BlueStore::debug_write_bdev_label(g_ceph_context,
- get_data_dir()+"/block", label, 0);
+ r = write_bdev_label(label, 0);
ASSERT_EQ(r, 0);
ASSERT_EQ(store->fsck(false), 1);
umount();
int r;
bluestore_bdev_label_t label;
- r = BlueStore::debug_read_bdev_label(g_ceph_context,
- get_data_dir()+"/block", &label, 0);
+ r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
label.meta["epoch"] = "1";
uuid_d new_id;
new_id.generate_random();
label.osd_uuid = new_id;
- r = BlueStore::debug_write_bdev_label(g_ceph_context,
- get_data_dir()+"/block", label, 0);
+ r = write_bdev_label(label, 0);
ASSERT_EQ(r, 0);
- r = BlueStore::debug_write_bdev_label(g_ceph_context,
- get_data_dir()+"/block", label, _1G);
+ r = write_bdev_label(label, _1G);
ASSERT_EQ(r, 0);
- r = BlueStore::debug_write_bdev_label(g_ceph_context,
- get_data_dir()+"/block", label, 10 * _1G);
+ r = write_bdev_label(label, 10 * _1G);
ASSERT_EQ(r, 0);
- r = BlueStore::debug_write_bdev_label(g_ceph_context,
- get_data_dir()+"/block", label, 100 * _1G);
+ r = write_bdev_label(label, 100 * _1G);
ASSERT_EQ(r, 0);
ASSERT_EQ(store->fsck(false), -2); // this is complete failure
}
umount();
bluestore_bdev_label_t label;
- int r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ int r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
auto it = label.meta.find("epoch");
ASSERT_NE(it, label.meta.end());
it->second += "1"; //APPEND "1", not add
label.meta["canary"]="alive";
- r = BlueStore::_write_bdev_label(
- g_ceph_context, get_data_dir() + "/block", label, {_1G});
+ r = write_bdev_label(label, _1G);
ASSERT_EQ(r, 0);
ASSERT_EQ(store->fsck(false), 3);
ASSERT_EQ(store->repair(false), 0);
- r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
ASSERT_EQ(label.meta["canary"], "alive");
}
ASSERT_EQ(store->repair(false), 0);
ASSERT_EQ(store->fsck(false), 0);
bluestore_bdev_label_t label;
- int r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ int r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
auto it = label.meta.find("epoch");
ASSERT_NE(it, label.meta.end());
ASSERT_EQ(store->repair(false), 1);
ASSERT_EQ(store->fsck(false), 1);
bluestore_bdev_label_t label;
- int r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ int r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
auto it = label.meta.find("epoch");
ASSERT_NE(it, label.meta.end());
ASSERT_EQ(store->repair(false), 0);
ASSERT_EQ(store->fsck(false), 0);
bluestore_bdev_label_t label;
- int r = BlueStore::_read_bdev_label(
- g_ceph_context, get_data_dir() + "/block", &label, 0);
+ int r = read_bdev_label(&label, 0);
ASSERT_EQ(r, 0);
auto it = label.meta.find("epoch");
ASSERT_NE(it, label.meta.end());