Vitaliy Filippov
332a13ba30
Build patched QEMU against local packages
2023-07-19 00:05:02 +03:00
Vitaliy Filippov
d0e257ee81
Fix non-existing pool handling in `vitastor-cli ls`
2023-07-18 23:52:02 +03:00
Vitaliy Filippov
004912aac0
Add RPM spec patches for 6.2-el8 and 7.2-el9
2023-07-18 23:38:14 +03:00
Vitaliy Filippov
c18e92273e
Copy qemu 5.1 -> 5.2 patch for convenience
2023-07-18 23:37:53 +03:00
Vitaliy Filippov
9815d70ffc
It is impossible to use io_uring with older vitastor-client because it does not have vitastor_c_uring_has_work()
2023-07-18 23:37:53 +03:00
Vitaliy Filippov
4a4627dcab
Do not use bool in C library
2023-07-18 23:37:53 +03:00
Vitaliy Filippov
b963f2fd93
Add QEMU 2.12 patch (basically the same as 3.1)
2023-07-18 23:37:06 +03:00
Vitaliy Filippov
ba7427020e
Fix deadlocks possible in qemu-img after fixing iothread
...
Deadlock was caused by switching QEMU coroutines directly inside
vitastor_co_read_bitmap_cb() callback. The correct way is to schedule a BH
/BH is a QEMU term for setImmediate() :)/, same as in read and write callbacks.
2023-07-18 23:32:16 +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
2023-07-01 00:25:58 +03:00
Vitaliy Filippov
c8d61568b5
Fix primary_read bitmap buffers being freed too early (use-after-free)
2023-06-30 12:47:45 +03:00
Vitaliy Filippov
84ed3c6395
Fix CAS retries during snapshot merge
2023-06-30 02:30:23 +03:00
Vitaliy Filippov
a7b57386c0
Do not print last subcommand result twice during "inverse" snapshot merge
2023-06-30 02:07:10 +03:00
Vitaliy Filippov
9d4ea5f764
Fix inverse parent selection which prevented the use of optimized merge in case of only 1 snapshot
2023-06-30 01:39:11 +03:00
Vitaliy Filippov
000e4944ec
Remove "inverse parent" image name index key from etcd during snapshot merge
2023-06-30 01:23:30 +03:00
Vitaliy Filippov
8426616d89
Warn about unfinished deletions in rm-data
2023-06-30 01:18:25 +03:00
Vitaliy Filippov
1a841344ec
Print progress of all operations during snapshot merge
2023-06-30 01:13:47 +03:00
Vitaliy Filippov
8603b5cb1d
Do not hang on inactive OSDs during delete, report and skip them instead
2023-06-30 00:15:16 +03:00
Vitaliy Filippov
f12b8e45a9
Remove /usr/local/bin path from make-etcd
2023-06-29 23:49:31 +03:00
Vitaliy Filippov
878ccbb6ea
Fix snapshot chain "down-merge" ("up-merge" worked well...)
2023-06-29 00:47:21 +03:00
Vitaliy Filippov
b14220b4d0
Add a test for snapshot chain
2023-06-29 00:47:21 +03:00
Vitaliy Filippov
181d6ba407
Move npm install to CI build and remove it from tests
2023-06-28 23:41:46 +03:00
Vitaliy Filippov
63c2b9832c
Fix chained (snapshot) reads often not working at all with chain size > 2
2023-06-28 18:54:03 +03:00
Vitaliy Filippov
10e2e6a7c8
Add a patch for pve-qemu 8.0
2023-06-24 01:33:52 +03:00
Vitaliy Filippov
a598428992
Add a note about PVE 8.0
2023-06-24 01:29:28 +03:00
Vitaliy Filippov
08a677b684
Notes about rebuilding pve-qemu
2023-06-24 01:00:21 +03:00
Vitaliy Filippov
7c8fbdad16
Fix typo
2023-06-22 02:07:33 +03:00
Vitaliy Filippov
2f9353df60
Markdown preprocessor to compile multiple .md files into one
2023-06-22 01:27:38 +03:00
Vitaliy Filippov
57c744f288
Fix some cross-references in docs
2023-06-22 01:16:03 +03:00
Vitaliy Filippov
a11ca56fb1
Fix compatibility of the QEMU driver with iothread
2023-06-21 02:11:28 +03:00
Vitaliy Filippov
b84927b340
Fix \n in nbd_proxy
2023-06-19 01:48:58 +03:00
Vitaliy Filippov
83cacba226
Fix patched-qemu build
2023-06-19 01:47:55 +03:00
Vitaliy Filippov
2c8f0bc6d5
Add a note about Debian 12
2023-06-19 01:08:41 +03:00
Vitaliy Filippov
7ae5b0e368
Add patch for libvirt 9.0
2023-06-19 01:07:08 +03:00