]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: fix bluestore_blob_t::generate_test_instances()
authorKefu Chai <kchai@redhat.com>
Wed, 22 Feb 2017 18:33:50 +0000 (02:33 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 23 Feb 2017 04:17:46 +0000 (12:17 +0800)
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 <kchai@redhat.com>
src/os/bluestore/bluestore_types.cc

index 59a705d91e6e902f8f0d944e961562e2f4b3a012..7398d03ce8036e3b0900591e203c9d49e57b354f 100644 (file)
@@ -630,12 +630,12 @@ void bluestore_blob_t::generate_test_instances(list<bluestore_blob_t*>& 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)