Fix a rare use-after-free in automatic sync after delete in blockstore
Test / buildenv (push) Successful in 12s
Details
Test / build (push) Successful in 2m39s
Details
Test / make_test (push) Successful in 49s
Details
Test / test_cas (push) Successful in 16s
Details
Test / test_change_pg_count (push) Successful in 49s
Details
Test / test_add_osd (push) Successful in 2m1s
Details
Test / test_change_pg_size (push) Successful in 17s
Details
Test / test_create_nomaxid (push) Successful in 10s
Details
Test / test_change_pg_count_ec (push) Successful in 42s
Details
Test / test_etcd_fail (push) Successful in 1m33s
Details
Test / test_interrupted_rebalance (push) Successful in 2m35s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m10s
Details
Test / test_failure_domain (push) Successful in 13s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m43s
Details
Test / test_snapshot (push) Successful in 28s
Details
Test / test_snapshot_ec (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 17s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m49s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 30s
Details
Test / test_splitbrain (push) Successful in 23s
Details
Test / test_snapshot_chain (push) Successful in 2m29s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m48s
Details
Test / test_rebalance_verify_imm (push) Successful in 4m9s
Details
Test / test_rebalance_verify (push) Successful in 4m42s
Details
Test / test_switch_primary (push) Successful in 41s
Details
Test / test_write (push) Successful in 43s
Details
Test / test_write_no_same (push) Successful in 21s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m37s
Details
Test / test_write_xor (push) Successful in 1m11s
Details
Test / test_rebalance_verify_ec (push) Successful in 7m14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m3s
Details
Test / test_heal_ec (push) Successful in 4m18s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m5s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m52s
Details
Test / test_heal_csum_32k (push) Successful in 6m23s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m23s
Details
Test / test_scrub (push) Successful in 1m30s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m18s
Details
Test / test_heal_csum_4k_dj (push) Successful in 7m9s
Details
Test / test_scrub_xor (push) Successful in 57s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m5s
Details
Test / test_scrub_ec (push) Successful in 1m6s
Details
Test / test_scrub_pg_size_3 (push) Successful in 2m3s
Details
Test / test_heal_csum_4k (push) Successful in 4m54s
Details
Test / buildenv (push) Successful in 12s
Details
Test / build (push) Successful in 2m39s
Details
Test / make_test (push) Successful in 49s
Details
Test / test_cas (push) Successful in 16s
Details
Test / test_change_pg_count (push) Successful in 49s
Details
Test / test_add_osd (push) Successful in 2m1s
Details
Test / test_change_pg_size (push) Successful in 17s
Details
Test / test_create_nomaxid (push) Successful in 10s
Details
Test / test_change_pg_count_ec (push) Successful in 42s
Details
Test / test_etcd_fail (push) Successful in 1m33s
Details
Test / test_interrupted_rebalance (push) Successful in 2m35s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m10s
Details
Test / test_failure_domain (push) Successful in 13s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m43s
Details
Test / test_snapshot (push) Successful in 28s
Details
Test / test_snapshot_ec (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 17s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m49s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 30s
Details
Test / test_splitbrain (push) Successful in 23s
Details
Test / test_snapshot_chain (push) Successful in 2m29s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m48s
Details
Test / test_rebalance_verify_imm (push) Successful in 4m9s
Details
Test / test_rebalance_verify (push) Successful in 4m42s
Details
Test / test_switch_primary (push) Successful in 41s
Details
Test / test_write (push) Successful in 43s
Details
Test / test_write_no_same (push) Successful in 21s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m37s
Details
Test / test_write_xor (push) Successful in 1m11s
Details
Test / test_rebalance_verify_ec (push) Successful in 7m14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m3s
Details
Test / test_heal_ec (push) Successful in 4m18s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m5s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m52s
Details
Test / test_heal_csum_32k (push) Successful in 6m23s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m23s
Details
Test / test_scrub (push) Successful in 1m30s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m18s
Details
Test / test_heal_csum_4k_dj (push) Successful in 7m9s
Details
Test / test_scrub_xor (push) Successful in 57s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m5s
Details
Test / test_scrub_ec (push) Successful in 1m6s
Details
Test / test_scrub_pg_size_3 (push) Successful in 2m3s
Details
Test / test_heal_csum_4k (push) Successful in 4m54s
Details
ASan report: [0] READ of size 16 at operator() /root/vitastor/src/blockstore_write.cpp:100 ...[5] blockstore_impl_t::ack_sync(blockstore_op_t*) /root/vitastor/src/blockstore_sync.cpp:232rel-1.4
parent
5e934264cf
commit
1bc0b5aab3
|
@ -95,11 +95,13 @@ bool blockstore_impl_t::enqueue_write(blockstore_op_t *op)
|
||||||
// Issue an additional sync so the delete reaches the journal
|
// Issue an additional sync so the delete reaches the journal
|
||||||
blockstore_op_t *sync_op = new blockstore_op_t;
|
blockstore_op_t *sync_op = new blockstore_op_t;
|
||||||
sync_op->opcode = BS_OP_SYNC;
|
sync_op->opcode = BS_OP_SYNC;
|
||||||
sync_op->callback = [this, op](blockstore_op_t *sync_op)
|
sync_op->oid = op->oid;
|
||||||
|
sync_op->version = op->version;
|
||||||
|
sync_op->callback = [this](blockstore_op_t *sync_op)
|
||||||
{
|
{
|
||||||
flusher->unshift_flush((obj_ver_id){
|
flusher->unshift_flush((obj_ver_id){
|
||||||
.oid = op->oid,
|
.oid = sync_op->oid,
|
||||||
.version = op->version-1,
|
.version = sync_op->version-1,
|
||||||
}, true);
|
}, true);
|
||||||
delete sync_op;
|
delete sync_op;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue