diff options
author | Neha Ojha <nojha@redhat.com> | 2022-01-21 11:22:07 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-21 11:22:07 -0800 |
commit | 87a490d7b00fc018c0f01748a346e531657c54c4 (patch) | |
tree | 0d0b61a1fc6fe45599817230694a361c29224c55 | |
parent | a9b3e2f80130696fc4be026c31998d2f3d959b05 (diff) | |
parent | 88176acd27b0d495abf9396c7ae2c6ec3fa46b1b (diff) | |
download | ceph-87a490d7b00fc018c0f01748a346e531657c54c4.tar.gz |
Merge pull request #44706 from rzarzynski/wip-tests-bl-fix-rebuild
test/bufferlist: ensure rebuild_aligned_size_and_memory() always rebuilds.
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
-rw-r--r-- | src/test/bufferlist.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index 99e954ff597..1b604f7bde4 100644 --- a/src/test/bufferlist.cc +++ b/src/test/bufferlist.cc @@ -1853,13 +1853,14 @@ TEST(BufferList, rebuild_aligned_size_and_memory) { * scenario where the first bptr is both size and memory aligned and * the second is 0-length */ bl.clear(); - bufferptr ptr1(buffer::create_aligned(4096, 4096)); - bl.append(ptr1); - bufferptr ptr(10); - /* bl.back().length() must be 0 */ - bl.append(ptr, 0, 0); + bl.append(bufferptr{buffer::create_aligned(4096, 4096)}); + bufferptr ptr(buffer::create_aligned(42, 4096)); + /* bl.back().length() must be 0. offset set to 42 guarantees + * the entire list is unaligned. */ + bl.append(ptr, 42, 0); EXPECT_EQ(bl.get_num_buffers(), 2); EXPECT_EQ(bl.back().length(), 0); + EXPECT_FALSE(bl.is_aligned(4096)); /* rebuild_aligned() calls rebuild_aligned_size_and_memory(). * we assume the rebuild always happens. */ EXPECT_TRUE(bl.rebuild_aligned(4096)); |