From: Kefu Chai Date: Wed, 22 Feb 2017 18:33:50 +0000 (+0800) Subject: os/bluestore: fix bluestore_blob_t::generate_test_instances() X-Git-Tag: v12.0.1~289^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a7c1d3b9d85212add19746cd7fb4365068ab4b15;p=ceph-ci.git os/bluestore: fix bluestore_blob_t::generate_test_instances() add extends before marking unused ranges, otherwise add_unused() asserts if (offset + len < blob_len) this method is supposed to be used by ceph-dencoder, but bluestore_blob_t's codec is quite different. we are not testing its encoding in ceph-dencoder at this moment. Signed-off-by: Kefu Chai --- diff --git a/src/os/bluestore/bluestore_types.cc b/src/os/bluestore/bluestore_types.cc index 59a705d91e6..7398d03ce80 100644 --- a/src/os/bluestore/bluestore_types.cc +++ b/src/os/bluestore/bluestore_types.cc @@ -630,12 +630,12 @@ void bluestore_blob_t::generate_test_instances(list& ls) ls.push_back(new bluestore_blob_t); ls.back()->init_csum(Checksummer::CSUM_XXHASH32, 16, 65536); ls.back()->csum_data = buffer::claim_malloc(4, strdup("abcd")); - ls.back()->add_unused(0, 3); - ls.back()->add_unused(8, 8); ls.back()->extents.emplace_back(bluestore_pextent_t(0x40100000, 0x10000)); ls.back()->extents.emplace_back( bluestore_pextent_t(bluestore_pextent_t::INVALID_OFFSET, 0x1000)); ls.back()->extents.emplace_back(bluestore_pextent_t(0x40120000, 0x10000)); + ls.back()->add_unused(0, 3); + ls.back()->add_unused(8, 8); } ostream& operator<<(ostream& out, const bluestore_blob_t& o)