1. 程式人生 > >ceph儲存 ceph Bluestore的架構

ceph儲存 ceph Bluestore的架構

uint64_t size = 1048476 * 128; string fn = get_temp_bdev(size); BlueFS fs; ASSERT_EQ(0, fs.add_block_device(0, fn)); fs.add_block_extent(0, 1048576, size - 1048576); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid)); ASSERT_EQ(0, fs.mount()); { BlueFS::FileWriter *h; ASSERT_EQ(0, fs.mkdir("dir"
)); ASSERT_EQ(0, fs.open_for_write("dir", "file", &h, false)); bufferlist bl; bl.append("foo"); h->append(bl); bl.append("bar"); h->append(bl); bl.append("baz"); h->append(bl); fs.fsync(h); fs.close_writer(h); } { BlueFS::FileReader *h; ASSERT_EQ(0
, fs.open_for_read("dir", "file", &h)); bufferlist bl; BlueFS::FileReaderBuffer buf(4096); ASSERT_EQ(9, fs.read(h, &buf, 0, 1024, &bl, NULL)); ASSERT_EQ(0, strncmp("foobarbaz", bl.c_str(), 9)); delete h; } fs.umount();