]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ceph_test_objectstore: queue split on parent pg sequencer 23748/head
authorSage Weil <sage@redhat.com>
Tue, 14 Aug 2018 13:58:31 +0000 (08:58 -0500)
committerPrashant D <pdhange@redhat.com>
Mon, 27 Aug 2018 04:39:53 +0000 (00:39 -0400)
commit67aba92ddea06f6a63df05336186f1dbb220d7cb
tree0ce63d85219812c1c0a7814f4bed9e8279b02031
parente41f2d2934c96618255ec673fc722b86fb59b730
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>
(cherry picked from commit de747b0dc1ec63e134e4839e420a66c2ec6b845b)
src/test/objectstore/store_test.cc