]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph_test_objectstore: queue split on parent pg sequencer 23552/head
authorSage Weil <sage@redhat.com>
Tue, 14 Aug 2018 13:58:31 +0000 (08:58 -0500)
committerSage Weil <sage@redhat.com>
Tue, 14 Aug 2018 14:08:12 +0000 (09:08 -0500)
commitde747b0dc1ec63e134e4839e420a66c2ec6b845b
tree0f3223decee6d26d28369f0a996c4a88f70de5a6
parentf21f1f14f2d2a465ba072118bd8e32271bf8906e
ceph_test_objectstore: queue split on parent pg sequencer

This matches the OSD.

It also ensure that we drain transactions that precede the split, which
will include any finish_write calls that might otherwise attach the
Buffer to the wrong cache shard: _txc_finish() calls finish_write and
passes the cache shard without the cache shard lock held, but may block
waiting for split_cache() which then changes the destination collection's
shard.  Once it gets the lock and proceeds it would operate on the wrong
cache shard, leading to a failed assert later when the sharedblob is
trimmed.

Fixes: http://tracker.ceph.com/issues/24439
Signed-off-by: Sage Weil <sage@redhat.com>
src/test/objectstore/store_test.cc