Vitaliy Filippov
debb00a535
Check for "Checksum mismatch" and "BUG" messages during test_heal
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
c8891ab1d6
Use clean_dyn_size for space check
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
7062b73d87
Log more details about checksum mismatch in big_writes
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
02e24f5144
Use find_holes() in flusher for unification
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
55f506f6e0
Fill journal header to know checksum type & size when dumping journal with --all
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
e12dd9b82c
Fix journal read checksum verification with inmemory_journal=false
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
82d8848b8f
Call fill_partial_checksum_blocks() correctly in regard to COPY_BUF_CSUM_FILL
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
ef800408dc
Wait for journal reads before checking them in clear_incomplete_csum_block_bits
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
3b1150c478
Check for checksum mismatch absence in test_heal
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
ccdf87dc81
Use zero checksum size for zero-length writes
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
bede73d158
Fix journal data checksum mangling on corrupted block overwrite
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
8e35319a34
Check journal entry size when checking block checksums
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
dc6e88e2ca
Fix journal data checksum verification on start
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
4c3370220b
Add more details to "journal entry data is corrupt" messages
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
f02344c0a4
...and partially remove the perversion with bitmap inlining
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
b369032665
Sadly we have to refcount dyn_data...
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
319b0833eb
Fix clean block checksum read
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
0641b06fb1
Allow to forcibly set meta_format
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
3b9873b9a9
Rename meta_version to meta_format
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
eef97a0dc4
Support old metadata format in vitastor-disk dump-meta
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
5b16e5ab5b
Fix journal big_write simple reads after checksum changes
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
bb430fccd5
Verify checksums in test_heal in different combinations
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
bafadd5559
Fix bitmap-granular checksums
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
6ebca5fedc
Fix wait_journal_count not being zeroed
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
e3e2325ef5
Rewrite and fix find_holes into a more obvious version
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
9a908f3e66
Fix missing checksum read offset
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
89f6fef920
Add a test for checksums
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
63b9382067
Fix checksum verification in big_write journal reads
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
8a7dea9fa2
Verify checksums during journal reads
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
1adf77f8fb
Add backwards compatibility with non-checksum metadata and journal formats
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
7a530346a6
Implement large csum_block_size support (more than 4k) + refactor blockstore_flush
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
cc1f03971d
Implement bitmap-granular (4k) metadata & data checksums
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
a0aac7eb2a
Update drives
2023-07-13 01:49:45 +03:00
Vitaliy Filippov
ac7b834af3
Disable journal_no_same_sector_overwrites by default for HDD-only
2023-07-10 00:34:35 +03:00
Vitaliy Filippov
ee0c78fd74
Fix default HDD block size in docs (actual size is 1 MB)
2023-07-09 13:12:30 +03:00
Vitaliy Filippov
e6646a5b2f
Bump QEMU version to vitastor3
2023-07-09 13:01:04 +03:00
Vitaliy Filippov
ae69662b17
Add "Recommended drives"
2023-07-09 12:59:18 +03:00
Vitaliy Filippov
57ad4c3636
Add a note about HDD, enable throttling only for hybrid OSDs
2023-07-09 12:45:11 +03:00
Vitaliy Filippov
b7e4d0c9bf
Fix journal dirty_start position tracking and some debug prints
...
Fixes two bugs found during HDD testing :-)
1) OSD crashed with "BUG: Attempt to overwrite used offset of the journal" during
`fio -bs=900k -iodepth=128` test with 16 MB journal
2) OSD stalled during `fio -bs=512k -iodepth=128` test with 64 MB journal
2023-07-09 01:17:55 +03:00
Vitaliy Filippov
161a23c966
Support reloading state when etcd says "revisions were compacted"
...
Before this change, OSDs almost always died when one of the etcds was restarted,
even though the rest of them was still in quorum and the lease was still active
2023-07-07 01:33:48 +03:00
Vitaliy Filippov
2f999d8607
Reduce etcd memory usage
...
With default --snapshot-count 100000 and GOGC=100 it easily reaches 6.6 GB
even when we only store 1-2 MB of data in it
2023-07-06 00:46:26 +03:00
Vitaliy Filippov
d007a374f2
Delete extra /pool/stats/ keys for non-existing pools
2023-07-06 00:40:13 +03:00
Vitaliy Filippov
45c0694853
Clear etcd_local addresses on reload and also skip duplicates
2023-07-06 00:39:39 +03:00
Vitaliy Filippov
57bcba2406
Add notes about VDUSE
2023-07-04 16:51:46 +03:00
Vitaliy Filippov
30ac899074
Make QEMU driver compatible with older vitastor_client and with systems without io_uring
2023-07-04 15:51:43 +03:00
Vitaliy Filippov
2348d39cf4
Avoid repeated qemu_uring_handlers, add 2.0-2.7 compatibility
2023-07-04 00:28:23 +03:00
Vitaliy Filippov
3de7929fe5
Integrate v2 - direct epoll
2023-07-04 00:28:23 +03:00
Vitaliy Filippov
07b2196bc2
Integrate QEMU driver with io_uring
2023-07-04 00:28:23 +03:00
Vitaliy Filippov
b8e30608d6
Bump QEMU version to vitastor2
2023-07-01 00:55:32 +03:00
Vitaliy Filippov
a612cdca47
Release 0.9.3
...
- Add patch for libvirt 9.0
- Add support for Proxmox VE 8.0
- Fix compatibility of the QEMU driver with iothread (QEMU rebuilds are coming)
- Fix vitastor-cli rm-data/rm/merge hanging when some OSDs are down.
Allow deletions in unclean cluster at the cost of some data possibly
"reappearing" when those OSDs start back. In that case you can just repeat
the deletion request using rm-data.
- A bunch of bug fixes for snapshots:
- Fix snapshot reads often not working at all with snapshot chain size > 2
- Fix optimized snapshot data merge (children to parent)
- Fix updating of image name index key during optimized merge
- Fix auto-selection preventing the use of optimized merge with only 1 snapshot
- Fix incorrect CAS retries during snapshot merge
- Fix snapshot merge progress reporting
- Fix primary_read bitmap buffers use-after-free which could lead to
incorrect allocation map reads
- Remove /usr/local/bin path from make-etcd
- Some documentation fixes
v0.9.3
2023-07-01 00:25:58 +03:00