Vitaliy Filippov
85e9f67d9d
Add supported_truncate_flags
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m19s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_snapshot_down_ec (push) Successful in 25s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_snapshot_chain (push) Successful in 2m13s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m54s
Details
Test / test_rebalance_verify (push) Successful in 3m25s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m22s
Details
Test / test_write (push) Successful in 52s
Details
Test / test_write_xor (push) Successful in 55s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m50s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 6m8s
Details
Test / test_heal_ec (push) Successful in 5m1s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m32s
Details
Test / test_heal_csum_32k (push) Successful in 6m14s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m23s
Details
Test / test_scrub (push) Successful in 1m27s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m24s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m15s
Details
Test / test_scrub_xor (push) Successful in 58s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m1s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 55s
Details
Test / test_scrub_ec (push) Successful in 53s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m24s
Details
Test / test_heal_csum_4k (push) Successful in 4m44s
Details
Test / test_move_reappear (push) Successful in 20s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m1s
Details
2023-09-06 17:37:52 +03:00
Vitaliy Filippov
79c6d6f323
Make QEMU driver compatible with QEMU 8.1
Test / test_snapshot_ec (push) Successful in 31s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_chain (push) Successful in 2m2s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m44s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_splitbrain (push) Successful in 16s
Details
Test / test_rebalance_verify (push) Successful in 3m10s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m39s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 7m1s
Details
Test / test_write (push) Successful in 36s
Details
Test / test_write_xor (push) Successful in 1m11s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m1s
Details
Test / test_heal_ec (push) Successful in 6m7s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m19s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m7s
Details
Test / test_heal_csum_32k (push) Successful in 6m21s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m40s
Details
Test / test_heal_csum_4k (push) Successful in 5m34s
Details
Test / test_scrub (push) Successful in 1m2s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 46s
Details
Test / test_scrub_xor (push) Successful in 38s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m7s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 50s
Details
Test / test_scrub_ec (push) Successful in 48s
Details
2023-08-24 02:23:55 +03:00
Vitaliy Filippov
ae760dbc1d
Fix co_truncate size division by BDRV_SECTOR_SIZE
2023-08-24 01:55:35 +03:00
Vitaliy Filippov
65487da4b1
Do not include msgr_rdma.h into messenger.h
2023-08-24 01:55:35 +03:00
Vitaliy Filippov
7862282938
Extract validation to check_rw(), remove duplicate code with OP_SYNC
Test / test_snapshot_ec (push) Successful in 19s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 18s
Details
Test / test_rm (push) Successful in 11s
Details
Test / test_snapshot_chain (push) Successful in 59s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m41s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 22s
Details
Test / test_splitbrain (push) Successful in 14s
Details
Test / test_rebalance_verify (push) Successful in 3m23s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m19s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m33s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m28s
Details
Test / test_write (push) Successful in 51s
Details
Test / test_write_xor (push) Successful in 1m6s
Details
Test / test_write_no_same (push) Successful in 18s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m26s
Details
Test / test_heal_ec (push) Successful in 5m21s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m56s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m2s
Details
Test / test_heal_csum_32k (push) Successful in 6m41s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m53s
Details
Test / test_heal_csum_4k_dj (push) Successful in 3m58s
Details
Test / test_heal_csum_4k (push) Successful in 4m55s
Details
Test / test_scrub (push) Successful in 48s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 54s
Details
Test / test_scrub_xor (push) Successful in 50s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m4s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 46s
Details
Test / test_scrub_ec (push) Successful in 47s
Details
2023-08-13 23:49:52 +03:00
Vitaliy Filippov
30ce2bd951
Fix buffer insert in cluster_client
2023-08-12 11:08:50 +03:00
Vitaliy Filippov
b1a0afd10a
Aggregate buffer flushes
Test / test_snapshot_ec (push) Successful in 30s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Successful in 17s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_snapshot_chain (push) Successful in 2m21s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m56s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_rebalance_verify (push) Successful in 3m39s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m35s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m6s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 6m8s
Details
Test / test_write (push) Successful in 50s
Details
Test / test_write_xor (push) Successful in 55s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m14s
Details
Test / test_heal_ec (push) Successful in 5m2s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m1s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m12s
Details
Test / test_heal_csum_32k (push) Successful in 6m35s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m18s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m24s
Details
Test / test_heal_csum_4k (push) Successful in 5m12s
Details
Test / test_scrub (push) Successful in 1m39s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 49s
Details
Test / test_scrub_xor (push) Successful in 45s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m19s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 57s
Details
Test / test_scrub_ec (push) Successful in 59s
Details
2023-08-11 11:26:13 +03:00
Vitaliy Filippov
85b6134910
Return dirty buffers on read in client
...
Test / test_snapshot_ec (push) Successful in 22s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 13s
Details
Test / test_snapshot_chain (push) Successful in 1m57s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m39s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 25s
Details
Test / test_splitbrain (push) Successful in 15s
Details
Test / test_rebalance_verify (push) Successful in 3m4s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m7s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m26s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 7m35s
Details
Test / test_write (push) Successful in 35s
Details
Test / test_write_xor (push) Successful in 38s
Details
Test / test_write_no_same (push) Successful in 21s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m58s
Details
Test / test_heal_ec (push) Successful in 3m15s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m52s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m3s
Details
Test / test_heal_csum_32k (push) Successful in 5m26s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m12s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m9s
Details
Test / test_heal_csum_4k (push) Successful in 5m13s
Details
Test / test_scrub (push) Successful in 1m24s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m15s
Details
Test / test_scrub_xor (push) Successful in 1m5s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m45s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m11s
Details
Test / test_scrub_ec (push) Successful in 56s
Details
Required at least to return buffers when they need to be replayed, but until
they are actually replayed
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
b1b07a393d
Fix incorrect marking op parts as done with snapshots (could probably lead to client hangs)
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
7333022adf
Add a third I/O mode: O_DIRECT|O_SYNC, change parameters to data_io/meta_io/journal_io
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
ab8627c9fa
Fix monitor retrying failed etcd connection in an infinite loop without pauses
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
6acf562e01
Release 1.0.0
...
New features:
- Data and metadata checksums!
- Metadata checksums are always used with new disk format
- Data checksums can be turned on with --data_csum_type crc32c for new OSDs
- Checksum block size can be configured
- inmemory_metadata now also affects keeping checksums in memory
- Linux page cache I/O caching support which can be enabled separately for
data, metadata (including checksums) and journal (O_SYNC instead of O_DIRECT)
- Details [here](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/layout-osd.en.md#data_csum_type )
- Backwards compatibility is preserved, you can use new OSDs with old disks
Release also includes bug fixes from [0.9.6](https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v0.9.6 ).
0.9.6 is moved to "-oldstable" repositories and will be available for some additional time.
2023-07-29 18:57:19 +03:00
Vitaliy Filippov
6f797f429e
Add a note about -oldstable
2023-07-29 18:11:13 +03:00
Vitaliy Filippov
b8a1734465
Reword checksum docs one more time
2023-07-29 14:42:56 +03:00
Vitaliy Filippov
c752b68167
Remove "without checksums" from docs :)
2023-07-29 12:19:03 +03:00
Vitaliy Filippov
564df2eb5d
Support using buffered I/O with O_SYNC instead of direct I/O
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
9a427dd70a
Allow to override OSD devices in tests
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
1a4ceb420d
Track used blocks, not object versions
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
21b5124a4b
Document data_csum_type and csum_block_size parameters
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
4181add1f4
Remove creepy "metadata copying" during overwrite
...
Instead of it, just do not verify checksums of currently mutated objects.
When clean data modification during flush runs in parallel to a read request,
that request may read a mix of old and new data. It may even read a mix of
multiple flushed versions if it lasts too long... And attempts to verify it
using temporary copies of metadata make the algorithm too complex and creepy.
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
a8464c19af
Support keeping checksums on disk (not in memory)
...
Definitely beneficial for SSD+HDD setups
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
819cb70cdd
Check for "Checksum mismatch" and "BUG" messages during test_heal
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
3c8e4c6b72
Use clean_dyn_size for space check
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
8ef4cf89dc
Log more details about checksum mismatch in big_writes
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
7bfb1639ea
Use find_holes() in flusher for unification
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
628e481c32
Fill journal header to know checksum type & size when dumping journal with --all
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
af6f2046fc
Fix journal read checksum verification with inmemory_journal=false
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
9357e5293e
Call fill_partial_checksum_blocks() correctly in regard to COPY_BUF_CSUM_FILL
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
12851dc07d
Wait for journal reads before checking them in clear_incomplete_csum_block_bits
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
a5753e35a3
Check for checksum mismatch absence in test_heal
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
d6ee1ca17c
Use zero checksum size for zero-length writes
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
71674d00cf
Fix journal data checksum mangling on corrupted block overwrite
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
ddb078d5a7
Check journal entry size when checking block checksums
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
d22d56f90a
Fix journal data checksum verification on start
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
eb1331a079
Add more details to "journal entry data is corrupt" messages
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
c5274f655b
...and partially remove the perversion with bitmap inlining
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
45e07d6294
Sadly we have to refcount dyn_data...
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
a8ee391e05
Fix clean block checksum read
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
de48fa3fd2
Allow to forcibly set meta_format
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
874a766b62
Rename meta_version to meta_format
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
384bd8e28f
Support old metadata format in vitastor-disk dump-meta
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
430994f48a
Fix journal big_write simple reads after checksum changes
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
3d7f838c59
Verify checksums in test_heal in different combinations
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
b909d81f41
Fix bitmap-granular checksums
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
e42975ffd1
Fix wait_journal_count not being zeroed
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
93778324e5
Rewrite and fix find_holes into a more obvious version
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
eeb6727170
Fix missing checksum read offset
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
7fe82c692e
Add a test for checksums
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
92c6e16eba
Fix checksum verification in big_write journal reads
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
213a9ccb4d
Verify checksums during journal reads
2023-07-29 12:17:18 +03:00