Oops, 1.3.0 needs a hotfix
Test / buildenv (push) Successful in 11s
Details
Test / build (push) Successful in 2m39s
Details
Test / test_cas (push) Successful in 9s
Details
Test / make_test (push) Successful in 33s
Details
Test / test_change_pg_size (push) Successful in 9s
Details
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_change_pg_count (push) Successful in 46s
Details
Test / test_change_pg_count_ec (push) Successful in 41s
Details
Test / test_etcd_fail (push) Successful in 1m29s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m27s
Details
Test / test_add_osd (push) Successful in 3m5s
Details
Test / test_failure_domain (push) Successful in 18s
Details
Test / test_interrupted_rebalance (push) Successful in 2m44s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m19s
Details
Test / test_snapshot (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_snapshot_ec (push) Successful in 30s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m53s
Details
Test / test_rm (push) Successful in 18s
Details
Test / test_snapshot_down (push) Successful in 30s
Details
Test / test_snapshot_down_ec (push) Successful in 31s
Details
Test / test_splitbrain (push) Successful in 27s
Details
Test / test_snapshot_chain (push) Successful in 2m13s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m56s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m51s
Details
Test / test_rebalance_verify (push) Successful in 3m38s
Details
Test / test_write (push) Successful in 45s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m5s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m22s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m51s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m39s
Details
Test / test_heal_ec (push) Successful in 6m39s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m55s
Details
Test / test_heal_csum_32k (push) Successful in 6m5s
Details
Test / test_scrub (push) Successful in 1m18s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m19s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m25s
Details
Test / test_scrub_xor (push) Successful in 50s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m46s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m17s
Details
Test / test_heal_csum_4k (push) Successful in 5m51s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m0s
Details
Test / test_scrub_ec (push) Successful in 21s
Details
Test / test_write_xor (push) Successful in 33s
Details
Test / buildenv (push) Successful in 11s
Details
Test / build (push) Successful in 2m39s
Details
Test / test_cas (push) Successful in 9s
Details
Test / make_test (push) Successful in 33s
Details
Test / test_change_pg_size (push) Successful in 9s
Details
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_change_pg_count (push) Successful in 46s
Details
Test / test_change_pg_count_ec (push) Successful in 41s
Details
Test / test_etcd_fail (push) Successful in 1m29s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m27s
Details
Test / test_add_osd (push) Successful in 3m5s
Details
Test / test_failure_domain (push) Successful in 18s
Details
Test / test_interrupted_rebalance (push) Successful in 2m44s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m19s
Details
Test / test_snapshot (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_snapshot_ec (push) Successful in 30s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m53s
Details
Test / test_rm (push) Successful in 18s
Details
Test / test_snapshot_down (push) Successful in 30s
Details
Test / test_snapshot_down_ec (push) Successful in 31s
Details
Test / test_splitbrain (push) Successful in 27s
Details
Test / test_snapshot_chain (push) Successful in 2m13s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m56s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m51s
Details
Test / test_rebalance_verify (push) Successful in 3m38s
Details
Test / test_write (push) Successful in 45s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m5s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m22s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m51s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m39s
Details
Test / test_heal_ec (push) Successful in 6m39s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m55s
Details
Test / test_heal_csum_32k (push) Successful in 6m5s
Details
Test / test_scrub (push) Successful in 1m18s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m19s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m25s
Details
Test / test_scrub_xor (push) Successful in 50s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m46s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m17s
Details
Test / test_heal_csum_4k (push) Successful in 5m51s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m0s
Details
Test / test_scrub_ec (push) Successful in 21s
Details
Test / test_write_xor (push) Successful in 33s
Details
parent
7972502eaf
commit
a5e3dfbc5a
|
@ -144,8 +144,10 @@ journal_entry* prefill_single_journal_entry(journal_t & journal, uint16_t type,
|
|||
journal.sector_info[journal.cur_sector].written = false;
|
||||
journal.sector_info[journal.cur_sector].offset = journal.next_free;
|
||||
journal.in_sector_pos = 0;
|
||||
journal.next_free = (journal.next_free+journal.block_size) < journal.len ? journal.next_free + journal.block_size : journal.block_size;
|
||||
assert(journal.next_free != journal.used_start);
|
||||
auto next_next_free = (journal.next_free+journal.block_size) < journal.len ? journal.next_free + journal.block_size : journal.block_size;
|
||||
// double check that next_free doesn't cross used_start from the left
|
||||
assert(journal.next_free >= journal.used_start || next_next_free < journal.used_start);
|
||||
journal.next_free = next_next_free;
|
||||
memset(journal.inmemory
|
||||
? (uint8_t*)journal.buffer + journal.sector_info[journal.cur_sector].offset
|
||||
: (uint8_t*)journal.sector_buf + journal.block_size*journal.cur_sector, 0, journal.block_size);
|
||||
|
|
|
@ -386,7 +386,7 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op)
|
|||
sqe, dsk.data_fd, PRIV(op)->iov_zerofill, vcnt, dsk.data_offset + (loc << dsk.block_order) + op->offset - stripe_offset
|
||||
);
|
||||
PRIV(op)->pending_ops = 1;
|
||||
if (immediate_commit != IMMEDIATE_ALL && !(dirty_it->second.state & BS_ST_INSTANT))
|
||||
if (!(dirty_it->second.state & BS_ST_INSTANT))
|
||||
{
|
||||
unstable_unsynced++;
|
||||
}
|
||||
|
@ -412,7 +412,7 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op)
|
|||
sizeof(journal_entry_big_write) + dsk.clean_dyn_size, 0)
|
||||
|| !space_check.check_available(op, 1,
|
||||
sizeof(journal_entry_small_write) + dyn_size,
|
||||
(unstable_writes.size()+unstable_unsynced)*journal.block_size))
|
||||
op->len + (unstable_writes.size()+unstable_unsynced)*journal.block_size))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -462,6 +462,8 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op)
|
|||
exit(1);
|
||||
}
|
||||
}
|
||||
// double check that next_free doesn't cross used_start from the left
|
||||
assert(journal.next_free >= journal.used_start || next_next_free < journal.used_start);
|
||||
journal.next_free = next_next_free;
|
||||
je->oid = op->oid;
|
||||
je->version = op->version;
|
||||
|
@ -499,13 +501,13 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op)
|
|||
}
|
||||
dirty_it->second.location = journal.next_free;
|
||||
dirty_it->second.state = (dirty_it->second.state & ~BS_ST_WORKFLOW_MASK) | BS_ST_SUBMITTED;
|
||||
journal.next_free += op->len;
|
||||
if (journal.next_free >= journal.len)
|
||||
{
|
||||
journal.next_free = dsk.journal_block_size;
|
||||
assert(journal.next_free != journal.used_start);
|
||||
}
|
||||
if (immediate_commit == IMMEDIATE_NONE && !(dirty_it->second.state & BS_ST_INSTANT))
|
||||
next_next_free = journal.next_free + op->len;
|
||||
if (next_next_free >= journal.len)
|
||||
next_next_free = dsk.journal_block_size;
|
||||
// double check that next_free doesn't cross used_start from the left
|
||||
assert(journal.next_free >= journal.used_start || next_next_free < journal.used_start);
|
||||
journal.next_free = next_next_free;
|
||||
if (!(dirty_it->second.state & BS_ST_INSTANT))
|
||||
{
|
||||
unstable_unsynced++;
|
||||
}
|
||||
|
@ -596,12 +598,12 @@ resume_4:
|
|||
{
|
||||
auto & unstab = unstable_writes[op->oid];
|
||||
unstab = unstab < op->version ? op->version : unstab;
|
||||
}
|
||||
else if (!is_instant)
|
||||
if (!is_instant)
|
||||
{
|
||||
unstable_unsynced--;
|
||||
assert(unstable_unsynced >= 0);
|
||||
}
|
||||
}
|
||||
dirty_it->second.state = (dirty_it->second.state & ~BS_ST_WORKFLOW_MASK)
|
||||
| (imm ? BS_ST_SYNCED : BS_ST_WRITTEN);
|
||||
if (imm && is_instant)
|
||||
|
|
Loading…
Reference in New Issue