Vitaliy Filippov
150f369346
Hotfixes for vitastor-disk prepare: max_other, get device size, older sfdisk
2022-09-05 12:48:27 +03:00
Vitaliy Filippov
8d9a5fde15
Fix docs (block_size vs object_size)
2022-09-04 14:47:04 +03:00
Vitaliy Filippov
9ccc607ab9
Fix parse_size
2022-09-04 14:20:56 +03:00
Vitaliy Filippov
9481456dfe
Automatically check whether to disable cache during prepare
2022-09-03 02:04:21 +03:00
Vitaliy Filippov
68ebe5993a
Fix partition reuse
2022-09-02 23:32:25 +03:00
Vitaliy Filippov
a537db8909
Add documentation for the new "vitastor-disk" tool
2022-08-22 00:31:30 +03:00
Vitaliy Filippov
54ef2c389f
Followup to the "tried to overwrite" fix: also handle it in case of inmemory_meta == false
2022-08-21 01:28:29 +03:00
Vitaliy Filippov
153c73574a
Refactor blockstore_init_meta into slightly more obvious code
2022-08-21 01:21:13 +03:00
Vitaliy Filippov
d83580bd68
Fix "tried to overwrite non-zero metadata entry" when during a previous metadata
...
flush writing new entry is completed, but zeroing out an old one isn't
2022-08-21 00:31:18 +03:00
Vitaliy Filippov
29b40aba93
Add write-meta command (for debug)
2022-08-20 23:56:57 +03:00
Vitaliy Filippov
a52f2b0e8f
Add write-journal command (for debug)
2022-08-20 14:05:53 +03:00
Vitaliy Filippov
1407db9c08
Fix vitastor-disk prepare bugs
2022-08-19 02:22:54 +03:00
Vitaliy Filippov
c0d5e83fb8
Run partprobe when partitions do not appear
2022-08-18 02:05:16 +03:00
Vitaliy Filippov
40d8d65188
Rewrite upgrade-simple to C++
2022-08-18 01:31:31 +03:00
Vitaliy Filippov
a16263e88c
Fix bugs in the upgrade script and in the udev startup script
2022-08-17 10:28:34 +03:00
Vitaliy Filippov
cb4e3a118d
Fix warning
2022-08-15 00:18:21 +03:00
Vitaliy Filippov
b1e39b5dea
Split disk_tool.cpp into separate files
2022-08-14 02:37:01 +03:00
Vitaliy Filippov
1170319431
Finish vitastor-disk prepare in theory
2022-08-14 02:13:24 +03:00
Vitaliy Filippov
2e0a2221eb
vitastor-disk prepare: WIP second form command of the command
2022-08-12 01:58:28 +03:00
Vitaliy Filippov
5a10d135f3
Allow to configure block_size, bitmap_granularity and immediate_commit per-pool
2022-08-11 01:56:33 +03:00
Vitaliy Filippov
4c9aaa8a86
vitastor-disk prepare: implement first form of the command
2022-08-09 01:29:29 +03:00
Vitaliy Filippov
ae99ee6266
Rename base64.{cpp.h} to str_util
2022-07-31 01:12:37 +03:00
Vitaliy Filippov
5af75f7d78
Implement vitastor-cli and vitastor-disk --help <command>
2022-07-31 01:10:05 +03:00
Vitaliy Filippov
7dc6f10ea1
Add read-sb command
2022-07-28 00:14:23 +03:00
Vitaliy Filippov
76dd0fdcea
Implement pre-exec command with on-start OSD checks
2022-07-24 15:09:45 +03:00
Vitaliy Filippov
5acc19bbd5
Implement systemctl start/stop and other commands
2022-07-23 02:18:40 +03:00
Vitaliy Filippov
d5ca4e1f90
Add exec-osd command
2022-07-22 02:17:24 +03:00
Vitaliy Filippov
67e04f789f
Add write-sb (superblock) command
2022-07-19 01:14:31 +03:00
Vitaliy Filippov
837407a84c
Add udev import command
2022-07-19 01:14:31 +03:00
Vitaliy Filippov
1fe5908899
WIP OSD activation from superblock
2022-07-17 02:14:50 +03:00
Vitaliy Filippov
dcc6d546be
Move simple-offsets into vitastor-disk, too
2022-07-15 02:19:35 +03:00
Vitaliy Filippov
85fa389557
Add a test for disk-tool resize
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
dfa433c63b
Add JSON format to dump-journal
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
cf487c95aa
Fix resizer
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
b10656ca09
Parse new disk params in disk_tool resizer
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
ea632367e9
Do not alter dsk.meta_offset/len to skip superblock
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
4d777c6729
Set journal/meta devices to data device explicitly instead of ""
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
0c404c5074
Use blockstore_disk in disk_tool
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
dfd80626bd
Extract disk opening functions to separate module
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
30907852c2
Use simple std::map for the config
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
078ed5b116
WIP Data area resize tool
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
73a363bf92
Rename some variables and constants
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
b0e86ca643
Merge dump-journal and dump-meta into the new "vitastor-disk" tool
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
8800afb649
Fix void* arithmetic again
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
e20cdd13b6
Fix simple-offsets return value
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
bce357e2a5
Do not read all metadata into memory when dumping
2022-06-13 01:26:30 +03:00
Vitaliy Filippov
0876ca09cd
Fix dumper includes and print format
2022-06-11 00:30:44 +03:00
Vitaliy Filippov
dac12d8a4c
Implement metadata dump tool
2022-06-10 18:50:09 +03:00
Vitaliy Filippov
1eec4407ab
Fix inode creation when /index/maxid is out of sync
2022-06-06 16:35:51 +03:00
Vitaliy Filippov
675bc12a13
Add extern "C" for systems like Gentoo which miss it in jerasure includes
2022-06-05 00:33:38 +03:00
Vitaliy Filippov
101592bbff
Release 0.7.1
...
- Add ISA-L erasure code implementation, now used automatically instead of jerasure when available
- Fix listings sending too many parallel requests to OSDs
- Fix rm-data crashing with --wait-list
- Remove empty inodes from statistics and `ls` output, after <inode_vanish_time> seconds after deletion
- Make monitor delete pool statistics when the pool is deleted and thus remove them from `df` output
- Log multiple etcd addresses in OSD logs correctly
- Fix true/false parsing in json configs like no_recovery/no_rebalance
- Show no_recovery, no_rebalance, readonly flags in status
2022-06-05 00:07:24 +03:00
Vitaliy Filippov
87613ed590
Add ISA-L into RPM specs
2022-06-04 13:27:06 +03:00
Vitaliy Filippov
2a2e914ef9
Show no_recovery, no_rebalance and readonly flags in status
2022-06-04 13:27:06 +03:00
Vitaliy Filippov
0cdc9292c8
Fix true/false parsing in json configs like no_recovery/no_rebalance
2022-06-04 13:27:06 +03:00
Vitaliy Filippov
3e1b03bb5c
Show all etcd addresses in the "reporting to..." message
2022-06-04 13:27:06 +03:00
Vitaliy Filippov
1efbbb0c36
Make deleted inodes vanish from statistics after 60 seconds
2022-06-04 13:27:06 +03:00
Vitaliy Filippov
088dd15449
Exclude empty inodes from stats
2022-06-04 00:18:17 +03:00
Vitaliy Filippov
4a531d7b8b
Fix listings sending too many parallel requests to OSDs, fix rm-data crashing with --wait-list
2022-06-03 23:36:37 +03:00
Vitaliy Filippov
a0cae4c180
Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts
...
Old pool configurations with "jerasure" also remain supported as an alias for "ec"
2022-06-03 15:40:00 +03:00
Vitaliy Filippov
21b306e25f
Add ISA-L support
2022-06-02 01:47:33 +03:00
Vitaliy Filippov
d8313e939a
Release 0.7.0
...
- Add documentation! :-) in Russian and English
- Implement an NFS proxy for file-based access emulation to Vitastor
images for non-QEMU based hypervisors like VMWare, as a better way
than iSCSI
- Implement "primary affinity tags"
- Add a patch for libvirt 6.0
- Fix free_down_raw in cli status
- Fix a rare bug where OSDs could drop unrelated connections on errors
2022-05-29 23:39:53 +03:00
Vitaliy Filippov
82b9f4c52d
Add a test with OSD kills
2022-05-28 00:51:14 +03:00
Vitaliy Filippov
2bdf415eb3
Fix unknown OSD numbers on error
2022-05-28 00:51:14 +03:00
Vitaliy Filippov
5d47bbe04c
Add documentation
2022-05-17 01:10:49 +03:00
Vitaliy Filippov
93a9f1ef89
Fix NFS socket read hangs
2022-05-11 21:06:56 +03:00
Vitaliy Filippov
2697aae909
Fix free_down_raw in cli status
2022-05-11 18:08:45 +03:00
Vitaliy Filippov
6b69db73ac
Remove getrandom() usage
2022-05-11 11:25:20 +03:00
Vitaliy Filippov
d48a824846
Fix some warnings
2022-05-10 12:42:58 +03:00
Vitaliy Filippov
40985282ff
Fix build under GCC 8
2022-05-10 12:26:47 +03:00
Vitaliy Filippov
acf403e886
Add install target for NFS proxy
2022-05-10 10:43:17 +03:00
Vitaliy Filippov
7c2379d458
Simplified NFS proxy based on own NFS/XDR implementation
2022-05-07 01:01:20 +03:00
Vitaliy Filippov
a2189100dd
Make CLI functions usable in library form
...
Return results and errors in a variable instead of just printing them,
separate vitastor-cli main() from cli_tool_t, move positional argument
parsing to CLI main from command implementations.
2022-05-06 02:18:32 +03:00
Vitaliy Filippov
bb84379db6
Release 0.6.17
...
- Fix incorrect reading of extra metadata block leading to extra unknown objects in stats
- Fix CSI driver volumeMode: Block support
- Add block PVC and pod examples
- Fix build under 32 bit architectures
- Fix slow connection ramp-up caused by up_wait_retry_interval
2022-05-06 02:18:01 +03:00
Vitaliy Filippov
714dda8151
Fix slow connection ramp-up caused by up_wait_retry_interval pausing operations on first connection attempt
2022-05-06 02:12:08 +03:00
Vitaliy Filippov
e718116f54
Fix incorrect reading of extra metadata block
2022-04-21 02:52:21 +03:00
Vitaliy Filippov
caa2cc2e6c
Fix 32bit build error
2022-04-16 01:48:24 +03:00
Vitaliy Filippov
842ba8b831
Use (uint64_t)1 instead of 1l / 1ul
2022-04-16 01:48:14 +03:00
Vitaliy Filippov
340a4b4f27
Release 0.6.16
...
- Implement `vitastor-cli status` (print cluster status) command
- Add a new `make-osd-hybrid.js` script to quickly prepare a lot of hybrid (HDD+SSD) OSDs
- Implement snapshot deletion for Cinder driver (only works in a healthy cluster)
- Fix a huge :) bug causing reads to return all zeroes during rebalance. Add a test to prevent it in the future
- Disconnect NBD proxy correctly without leaving a zombie [vitastor-nbd] process in D state
- Fix a rare write hang appearing with small write throttling enabled
2022-04-09 01:16:52 +03:00
Vitaliy Filippov
d71cc174e3
Implement CLI status command
2022-04-09 00:25:51 +03:00
Vitaliy Filippov
83146fa3e2
Fix the same HUGE bug for regular reads during rebalance
2022-04-08 11:50:09 +03:00
Vitaliy Filippov
cd18ef7323
Disconnect NBD proxy correctly without leaving a zombie [vitastor-nbd] process in D state
2022-04-07 16:03:35 +03:00
Vitaliy Filippov
39531ef1a6
Fix incorrect chained reads during rebalance (the bug detected by test_rebalance_verify.sh)
2022-04-07 15:56:58 +03:00
Vitaliy Filippov
c373425562
Fix nbd log
2022-04-07 15:55:38 +03:00
Vitaliy Filippov
9c30df83e3
Fix a HUGE :) bug in NBD proxy
...
The bug could result in corrupted data on large writes
2022-04-03 10:42:06 +03:00
Vitaliy Filippov
4100d829c7
Allow to override log file for daemonized NBD proxy
2022-04-03 02:41:04 +03:00
Vitaliy Filippov
79ebda933e
Fix a write hang with throttling due to timer reenterability / triggerability
2022-03-28 01:42:06 +03:00
Vitaliy Filippov
85298ddae2
Release 0.6.15
...
- Make peering much faster in medium to large clusters
- Fix a reenterability issue which could rarely lead to peering process hangs
2022-03-06 19:16:34 +03:00
Vitaliy Filippov
e23296a327
Rename cli_rm -> cli_rm_data, cli_snap_rm -> cli_rm
2022-02-24 14:34:14 +03:00
Vitaliy Filippov
839ec9e6e0
Shard clean_db by PGs to speedup listings
2022-02-20 00:21:24 +03:00
Vitaliy Filippov
7cbfdff41a
Replace some throws with force_stop
2022-02-20 00:21:19 +03:00
Vitaliy Filippov
951272f27f
Try to process PG one after another
2022-02-19 19:25:55 +03:00
Vitaliy Filippov
a3fb1d4c98
Fix reenterability around set_timer
2022-02-19 18:28:12 +03:00
Vitaliy Filippov
88402e6eb6
Move next_request to run_cb_and_clear
2022-02-19 16:59:03 +03:00
Vitaliy Filippov
390239c51b
Don't terminate HTTP requests with timeouts if response is already available in the socket
2022-02-19 13:37:12 +03:00
Vitaliy Filippov
b7b2adfa32
Fix http client not continuing requests in case of failure to connect
2022-02-19 13:36:26 +03:00
Vitaliy Filippov
36c276358b
Attempt to fix "head-of-line blocking" by LIST operations
2022-02-18 01:31:45 +03:00
Vitaliy Filippov
117d6f0612
Release 0.6.14
...
- Fix IPv6 address parsing
- Fix "cannot read bytes of undefined" in the monitor on a fresh DB
- Fix possible hangs of read requests on OSD restarts without immediate_commit=all mode
- Fix OSDs skipping misplaced recovery in some cases
- Fix OSDs possibly dying with "map::at" errors when other OSDs are stopped
- Fix division by zero in ls if all pool OSDs are down
2022-02-17 14:43:44 +03:00
Vitaliy Filippov
7d79c58095
Use the larger sockaddr_storage structure
2022-02-12 11:22:56 +03:00
Vitaliy Filippov
732e2804e9
Fix operation dependency counter underflow for reads without immediate_commit=all mode
2022-02-11 10:54:11 +03:00
Vitaliy Filippov
abaec2008c
Fix OSDs missing misplaced recovery
2022-02-11 01:00:24 +03:00