Vitaliy Filippov
abdc207297
Fix append of VITASTOR_CONF to cmdline in the opennebula prebackup script
2024-12-28 13:33:24 +03:00
Vitaliy Filippov
044e621b62
Add test_rm_degraded to CI
2024-12-27 18:31:58 +03:00
Vitaliy Filippov
ba9aabf187
Return listing errors from list_inode_start(), abort merging and fail deletion on unsuccessfull listings
2024-12-27 18:31:21 +03:00
Vitaliy Filippov
5c890e4a12
Fix rm-data hanging when some OSDs are inactive, add a test for it
...
There's also another case which also needs to be fixed - we shouldn't retry
deletions for indefinite time if an OSD is stopped during deletion
2024-12-27 16:29:33 +03:00
Vitaliy Filippov
0b0c2afbce
Implement "deleted" flag
2024-12-27 01:18:55 +03:00
Vitaliy Filippov
651c055bd9
Show backfillfull pools in vitastor-cli status
2024-12-26 12:17:47 +03:00
Vitaliy Filippov
42eebfc1bd
Fix OSDs still crashing when the cluster is full with EC
...
ENOSPC handling was introduced in 1.6.0 but it was not complete; now it is
P.S: See also client_retry_enospc (true by default)
2024-12-26 01:56:33 +03:00
Vitaliy Filippov
cef98052f5
Improve logging of subop failures
2024-12-26 01:54:40 +03:00
Vitaliy Filippov
7fbb04fdfa
Release 1.10.0
...
New features:
- Implement basic VitastorFS support in [CSI](https://vitastor.io/docs/installation/kubernetes.html )
- Implement [NFS RDMA](https://vitastor.io/docs/usage/nfs.html#rdma ) support
- Pause pool rebalance when monitor detects that it can lead to any OSD becoming full ([osd_backfillfull_ratio](https://vitastor.io/docs/config/monitor.html#osd_backfillfull_ratio ))
- Auto-select correct [RDMA device and GID](https://vitastor.io/docs/config/network.html#rdma_device ) based on osd_network and RoCEv2 priority
- Report slow ops in OSD stats in etcd and show them in vitastor-cli status
Bug fixes:
- Fix possibly incorrect linked list deserialization in NFS
- Fix possible crash in vitastor-nfs --block READDIR operation
- Map netlink after forking to show correct PID in vitastor-nbd ls
- Simplify and fix create-pool OSD count checks for the case of hosts split into sub-nodes
- Make monitor print "Waiting to become master" just once, not every 5s
- Take out_size from oimg if not specified in vitastor-cli dd
- Do not report OSDs with empty statistics as "full" in status
- Trigger double autosync when switching PG state to prevent leaving garbage in non-immediate_commit clusters
- Fix a lack of connection timeout for etcd websockets in OSD leading to slower etcd failover (~70s instead of ~10s)
- Fix a rare OSD crash during client disconnect
- Fix PGs sometimes sticking until OSD restart in the "has_unclean" state with EC pools
- Fix metadata partition zeroing in vitastor-disk prepare
- Add patches for qemu 9.1 and pve-qemu 9.0 and 9.1
- Fix libvirt 8 patch
2024-12-19 15:49:19 +03:00
Vitaliy Filippov
63b85b6bfb
Fix clang warnings/errors
2024-12-19 15:30:31 +03:00
Vitaliy Filippov
2f5959e3fa
Add pve-qemu 9.1 patch
2024-12-19 14:05:12 +03:00
Vitaliy Filippov
a4a286ed95
Document NFS-RDMA
2024-12-19 14:05:12 +03:00
Vitaliy Filippov
b8009bad5e
Add librdmacm-dev to build dockerfile
2024-12-19 14:05:12 +03:00
Vitaliy Filippov
9be3d27dc9
Document VitastorFS-based CSI
2024-12-19 13:06:47 +03:00
Vitaliy Filippov
a19d2066c2
Document osd_backfillfull_ratio
2024-12-19 02:15:02 +03:00
Vitaliy Filippov
2a8780b4b5
Add a note about slow ops
2024-12-19 02:02:37 +03:00
Vitaliy Filippov
109f51a015
Implement basic VitastorFS support in CSI
2024-12-17 02:26:23 +03:00
Vitaliy Filippov
8a86c123c3
Allow to auto-select and print the port
2024-12-14 16:55:13 +03:00
Vitaliy Filippov
b856524e0c
Workaround for Linux bug: return post_op_attr for NFS-RDMA READ3
...
Linux NFS RDMA transport has a stupid bug - when the reply doesn't contain
post_op_attr, the data gets offsetted by 84 bytes (size of attributes) and
first 84 bytes are filled with probably random data.
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
ae3ca7451f
Use per-connection RDMA device contexts
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
1dbbb0c3f8
Implement NFS RDMA support
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
64db31ec10
Fix slow op warning format
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
76470686b3
Fix possibly incorrect linked list deserialization in NFS
2024-12-08 02:54:13 +03:00
Vitaliy Filippov
652ca631bb
Fix possible crash in nfs_block readdir
2024-12-01 18:04:49 +03:00
Vitaliy Filippov
2105f4b654
Add lost netlink daemonize
2024-11-27 17:13:30 +03:00
Vitaliy Filippov
0d01573da3
Fix typos
2024-11-26 14:31:47 +03:00
Vitaliy Filippov
d84b84f58d
Fix new backfillfull feature, add more logs
2024-11-23 01:08:13 +03:00
Vitaliy Filippov
8cfe705d7a
Map netlink after forking to show correct PID in vitastor-nbd ls
2024-11-23 00:46:44 +03:00
Vitaliy Filippov
66c9271cbd
Radically simplify create-pool pg_size check
2024-11-22 01:44:14 +03:00
Vitaliy Filippov
7b37ba921d
Pause pool rebalance when monitor detects that it can lead to any OSD becoming full
2024-11-22 01:01:07 +03:00
Vitaliy Filippov
262c581400
Fix create-pool for the case of hosts split into sub-nodes
2024-11-22 01:01:07 +03:00
Vitaliy Filippov
ad3b6b7267
Add a note about GID and RDMA device auto-selection
2024-11-21 23:54:05 +03:00
Vitaliy Filippov
1f6a061283
Move ibv_query_gid under #ifdef to only build it with libibverbs 32+
2024-11-21 23:47:57 +03:00
Vitaliy Filippov
fc4d97da10
Print "Waiting to become master" just once
2024-11-21 00:55:22 +03:00
Vitaliy Filippov
c7a4ce7341
Take out_size from dd oimg if not specified
2024-11-19 02:13:34 +03:00
Vitaliy Filippov
ddea31d86d
Auto-select first RDMA device only if RoCE is not found, add rocev2->rocev1->ib priority
2024-11-19 01:54:00 +03:00
Vitaliy Filippov
156d005412
Add serialize_overlap to test_heal
2024-11-17 01:26:35 +03:00
Vitaliy Filippov
7e076c7049
Do not report OSDs with empty statistics as full
2024-11-16 23:36:16 +03:00
Vitaliy Filippov
7de38250ad
Auto-select RDMA device based on osd_network
2024-11-16 18:38:57 +03:00
Vitaliy Filippov
9c59d30e83
Report slow ops in OSD stats in etcd and show them in vitastor-cli status
2024-11-16 15:11:16 +03:00
Vitaliy Filippov
5db02cdf6e
Add pve-qemu 9.0 patch
2024-11-16 11:20:47 +03:00
Vitaliy Filippov
8202ee9d74
Trigger double autosync when switching PG state to prevent leaving garbage in non-immediate_commit clusters
2024-11-15 01:26:36 +03:00
Vitaliy Filippov
5864bd067c
Add missing connection timeout for etcd websockets in OSD
2024-11-12 02:28:07 +03:00
Vitaliy Filippov
c312557ace
Do not execute remaining operations if the client is stopped during read
2024-11-10 16:44:13 +03:00
Vitaliy Filippov
5ce20116d8
Postpone trigger_nearest to prevent timer callbacks called from setTimer/clearTimer
2024-11-10 15:51:16 +03:00
Vitaliy Filippov
be66791e59
Add another note about 1.8 upgrade
2024-11-09 00:57:58 +03:00
Vitaliy Filippov
141cec2383
Add missing refcounting for flush_batch errors
2024-11-09 00:46:38 +03:00
Vitaliy Filippov
1ce4b1b417
Fix stop condition in osd_flush
...
Could probably lead to PGs hung in peering states on OSD restart in EC pools,
fixable by primary OSD restart
2024-11-08 00:30:40 +03:00
Vitaliy Filippov
ebf24bac9a
Fix partition zeroing during prepare
...
Previously it zeroed area beginning with 0 instead of actual metadata offset
which was leading to non-zeroed metadata when the disk is very small
2024-11-08 00:14:37 +03:00
Vitaliy Filippov
edd9051f81
Fix arch.en toc
2024-11-08 00:14:18 +03:00
Vitaliy Filippov
662ca86dc0
Fix libvirt 8 patch
2024-11-07 12:21:32 +03:00
Vitaliy Filippov
a1ca573168
Support QEMU 9.1
2024-11-07 12:21:13 +03:00
Vitaliy Filippov
f69f801ffb
Release 1.9.3
...
- Support custom hybrid OSD creation (`vitastor-disk prepare --hybrid --fast-devices /dev/xxx,/dev/yyy`)
- Auto-change partition paths to /dev/disk/by-partuuid/ in `vitastor-disk prepare`
- Allow to select cached I/O in vitastor-disk commands
- Fix multiple bugs in vitastor-disk resize & add tests for them
- Fix vitastor-disk write-meta/write-journal in superblock-based mode writing it to an incorrect device
- Fix vitastor-disk prepare sometimes again not seeing new partitions
- Cleanup PG history and stats of deleted pools
- Fix "is already mounted" checks in CSI
2024-11-07 01:28:31 +03:00
Vitaliy Filippov
af92cbdfcc
Dynamic device size in test
2024-11-06 14:16:58 +03:00
Vitaliy Filippov
a775db10cc
Also allow cached I/O in dsk.open_*() in disk_tool
2024-11-06 13:52:25 +03:00
Vitaliy Filippov
eafce26049
Add resize and resize-auto tests
2024-11-06 13:30:51 +03:00
Vitaliy Filippov
625c74294f
Support direct I/O
2024-11-06 13:30:12 +03:00
Vitaliy Filippov
ef8c21ad6f
Change %lu to %ju
2024-11-06 02:58:51 +03:00
Vitaliy Filippov
2bb8e8999e
Do not check length in "data alignment mismatch"
2024-11-06 02:58:26 +03:00
Vitaliy Filippov
c2e7c28672
Fix calc_lengths data size recalc during auto-resize
2024-11-06 02:27:17 +03:00
Vitaliy Filippov
bd22beefb5
Auto-extend new_data_len if new_data_offset is changed too
2024-11-06 02:13:30 +03:00
Vitaliy Filippov
e7038ab99c
Auto-change partition paths to /dev/disk/by-partuuid/
2024-11-06 01:04:05 +03:00
Vitaliy Filippov
b6f75ebcfd
Add missing I/O path description in english
2024-11-06 00:43:17 +03:00
Vitaliy Filippov
9def199981
Auto-reduce new_data_len in resize
2024-11-05 02:57:11 +03:00
Vitaliy Filippov
c72e8e649e
Support test mode for vitastor-disk
2024-11-05 02:43:55 +03:00
Vitaliy Filippov
8bdb3e8786
Write meta/journal to correct device when used in superblock mode
2024-11-05 02:43:55 +03:00
Vitaliy Filippov
a87e236c70
Fix resize --data-size, particularly when expanding the device
2024-11-04 18:55:03 +03:00
Vitaliy Filippov
16f67cf6f1
Fix missing metadata checksums after resize
2024-11-04 18:36:35 +03:00
Vitaliy Filippov
56de4a520d
Support custom hybrid OSD creation (--hybrid --fast-devices /dev/xxx,/dev/yyy)
2024-11-04 17:52:29 +03:00
Vitaliy Filippov
adca162278
Note that osd_per_disk is also incompatible
2024-11-04 15:20:01 +03:00
Vitaliy Filippov
490b314d72
Rework & fix new partition waiting code
2024-11-04 15:16:30 +03:00
Vitaliy Filippov
9f52074e1e
Delete PG history and stats of deleted pools
2024-11-01 02:38:31 +03:00
Vitaliy Filippov
2b3e877546
Add notes about vitastor-disk in disable_data_fsync
2024-11-01 02:38:18 +03:00
Vitaliy Filippov and GitHub
01d55e5420
Merge pull request #64 from 0x00ace/fio_version_fix
...
use fio 3.35-1 for AlmaLinux 9
2024-10-31 11:55:40 +03:00
Vitaliy Filippov
f5aa5cfdfe
Fix "is already mounted" checks in CSI
2024-10-26 14:06:21 +03:00
Vitaliy Filippov
2826bb9e7e
Add more logging to CSI
2024-10-24 02:07:55 +03:00
Vitaliy Filippov
30d1ad0f66
Add Intel D5-P4320
2024-10-22 23:22:48 +03:00
Vitaliy Filippov
79719e44ac
Release 1.9.2
...
New features:
- Support resizing normal vitastor-disk partitions and moving journal/metadata: [vitastor-disk resize](https://vitastor.io/docs/usage/disk.html#resize )
- Support simple forms of vitastor-disk {dump,write}-{meta,journal} for OSD partitions
Bug fixes:
- Fix block RWX volumes broken after introducing stage/unstage support
- Do not allow to create non-block RWX volumes in CSI
- Fix vitastor-disk prepare not seeing the newly created partition in rare cases
- Fix non-array tags not showing up in ls-osd/osd-tree
- Make OpenNebula oned.conf patching during installation smarter
- Fix iseek option in vitastor-cli dd not working
- Validate conv=, iflag=, oflag= options in vitastor-cli dd
- Fix vitastor-disk write-meta not writing header checksum to the disk
- Fix JSON format in vitastor-disk dump-meta
- Fix read_chain_bitmap not working for snapshot in another pool
- Fix a possible OSD crash during parallel read & write to an image with snapshots
- Several followups to the READ_CHAIN_BITMAP fix: avoid data reads, fix possible overflow in is_zero(), fix bitmap size
2024-10-20 01:49:13 +03:00
Vitaliy Filippov
f5626655df
Add new disk command docs
2024-10-20 01:47:46 +03:00
Vitaliy Filippov
7e2dde2702
Fix block RWX volumes broken after introducing stage/unstage support
2024-10-19 11:56:56 +03:00
Vitaliy Filippov
3b0ab317cf
Validate non-block RWX in CSI
2024-10-18 01:55:38 +03:00
Vitaliy Filippov
18eb99c494
Implement resizing partitions created with vitastor-disk
2024-10-18 01:55:19 +03:00
Vitaliy Filippov
4e8a1a8895
Run partprobe in add_partition() if /dev/disk/by-partuuid symlink is not present
2024-10-12 18:07:53 +03:00
Vitaliy Filippov
d27a8bdabc
Make get_parent_device return full path
2024-10-12 13:44:52 +03:00
Vitaliy Filippov
ebd616e42f
Extract clear_osd_superblock()
2024-10-12 13:44:52 +03:00
Vitaliy Filippov
b18d296e01
Extract check_existing_partition(), get_device_size()
2024-10-12 13:44:52 +03:00
Vitaliy Filippov
a03508320e
Move json_is_true/json_is_false to json_util.cpp
2024-10-12 00:40:39 +03:00
Vitaliy Filippov
c9ccc790ec
Fix non-array tags not showing up in ls-osd/osd-tree
2024-10-11 18:33:35 +03:00
Vitaliy Filippov
db2d9c5b3d
Fix tables in NFS doc
2024-10-08 00:20:10 +03:00
Vitaliy Filippov
09f15f44c9
Fix Toshiba MG and VDUSE Debian kernel note in docs
2024-10-08 00:17:14 +03:00
Vitaliy Filippov
c5a58c2e81
Support reading parameters automatically from the superblock in vitastor-disk {dump,write}-{meta,journal}
2024-10-07 02:21:58 +03:00
Vitaliy Filippov
30e7c2ad1e
Add custom OpenNebula oned.conf patcher (it uses a SHITTY configuration file format)
2024-10-06 13:46:05 +03:00
Vitaliy Filippov
2e76ceabbe
Fix iseek option in vitastor-cli dd
2024-10-05 18:25:38 +03:00
Vitaliy Filippov
3df088c207
Validate conv=, iflag=, oflag= options in vitastor-cli dd
2024-10-05 18:02:36 +03:00
Vitaliy Filippov
d882a19eab
Fix vitastor-disk write-meta not writing header checksum to the disk...
2024-10-05 17:32:55 +03:00
Vitaliy Filippov
702be3da7a
Fix JSON format in vitastor-disk dump-meta
2024-10-05 16:08:34 +03:00
Vitaliy Filippov
99533e1c2f
Fix .yml links
2024-10-02 00:38:07 +03:00
Vitaliy Filippov
a6cceb43bf
Fix read_chain_bitmap not working for snapshot in another pool
2024-10-02 00:24:48 +03:00
Vitaliy Filippov
745d89459a
Fix link, add title
2024-09-29 22:05:56 +03:00
Vitaliy Filippov
48f023292d
Fix extra data reads on read_chain
2024-09-21 17:05:42 +03:00