vitastor/src
Vitaliy Filippov 11ec9ad874 Release 0.8.0
- Implement automatic OSD activation via udev and simple on-disk superblock storage
- Add a new `vitastor-disk` tool and merge all disk-related functionality there.
  Now it can prepare new OSD disks, upgrade plain old systemd units to the new scheme,
  resize OSD data area, manage OSD services by disk paths, manage superblocks,
  automatically check and disable disk cache, dump and write back journal and metadata.
- Add a documentation section about `vitastor-disk` (read it if you want details!)
- Install systemd services during package installation instead of the older method
  of manually creating them via separate shell scripts
- Add a new `make-etcd` script that reuses /etc/vitastor/vitastor.conf to configure etcd
- Allow to configure block_size, bitmap_granularity and immediate_commit per-pool
- Fix "fatal error: tried to overwrite non-zero metadata entry" which was possible
  in some cases after unclean OSD shutdown (caused by old metadata entries not being zeroed)
2022-09-05 13:51:20 +03:00
..
mock Fix minor bugs in snapshot removal, check it in tests 2021-09-25 19:30:29 +03:00
nfs Simplified NFS proxy based on own NFS/XDR implementation 2022-05-07 01:01:20 +03:00
CMakeLists.txt Release 0.8.0 2022-09-05 13:51:20 +03:00
addr_util.cpp Use the larger sockaddr_storage structure 2022-02-12 11:22:56 +03:00
addr_util.h Use the larger sockaddr_storage structure 2022-02-12 11:22:56 +03:00
allocator.cpp Use (uint64_t)1 instead of 1l / 1ul 2022-04-16 01:48:14 +03:00
allocator.h Add "external" bitmap support to osd_rmw 2021-04-10 17:44:12 +03:00
blockstore.cpp Autosync based on number of unstable ops to prevent journal stalls 2021-10-30 14:26:48 +03:00
blockstore.h Use simple std::map for the config 2022-07-15 01:38:30 +03:00
blockstore_disk.cpp Fix vitastor-disk prepare bugs 2022-08-19 02:22:54 +03:00
blockstore_disk.h vitastor-disk prepare: implement first form of the command 2022-08-09 01:29:29 +03:00
blockstore_flush.cpp Do not alter dsk.meta_offset/len to skip superblock 2022-07-15 01:38:30 +03:00
blockstore_flush.h Shard clean_db by PGs to speedup listings 2022-02-20 00:21:24 +03:00
blockstore_impl.cpp Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_impl.h Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_init.cpp Followup to the "tried to overwrite" fix: also handle it in case of inmemory_meta == false 2022-08-21 01:28:29 +03:00
blockstore_init.h Refactor blockstore_init_meta into slightly more obvious code 2022-08-21 01:21:13 +03:00
blockstore_journal.cpp Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_journal.h Fix resizer 2022-07-15 01:38:30 +03:00
blockstore_open.cpp Set journal/meta devices to data device explicitly instead of "" 2022-07-15 01:38:30 +03:00
blockstore_read.cpp Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_rollback.cpp Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_stable.cpp Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_sync.cpp Extract disk opening functions to separate module 2022-07-15 01:38:30 +03:00
blockstore_write.cpp Fix "tried to overwrite non-zero metadata entry" when during a previous metadata 2022-08-21 00:31:18 +03:00
cli.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli.h Move simple-offsets into vitastor-disk, too 2022-07-15 02:19:35 +03:00
cli_alloc_osd.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_common.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_create.cpp Add documentation for the new "vitastor-disk" tool 2022-08-22 00:31:30 +03:00
cli_df.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_flatten.cpp Make CLI functions usable in library form 2022-05-06 02:18:32 +03:00
cli_ls.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_merge.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
cli_modify.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_rm.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_rm_data.cpp Fix listings sending too many parallel requests to OSDs, fix rm-data crashing with --wait-list 2022-06-03 23:36:37 +03:00
cli_status.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
cluster_client.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
cluster_client.h Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
cluster_client_list.cpp Fix listings sending too many parallel requests to OSDs, fix rm-data crashing with --wait-list 2022-06-03 23:36:37 +03:00
crc32c.c Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
crc32c.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
disk_simple_offsets.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
disk_tool.cpp Fix docs (block_size vs object_size) 2022-09-04 14:47:04 +03:00
disk_tool.h Hotfixes for vitastor-disk prepare: max_other, get device size, older sfdisk 2022-09-05 12:48:27 +03:00
disk_tool_journal.cpp Add write-meta command (for debug) 2022-08-20 23:56:57 +03:00
disk_tool_meta.cpp Add write-meta command (for debug) 2022-08-20 23:56:57 +03:00
disk_tool_prepare.cpp Fix fsync autodetection for the single-device mode 2022-09-05 13:51:20 +03:00
disk_tool_resize.cpp Add documentation for the new "vitastor-disk" tool 2022-08-22 00:31:30 +03:00
disk_tool_udev.cpp Automatically check whether to disable cache during prepare 2022-09-03 02:04:21 +03:00
disk_tool_upgrade.cpp Add documentation for the new "vitastor-disk" tool 2022-08-22 00:31:30 +03:00
disk_tool_utils.cpp Hotfixes for vitastor-disk prepare: max_other, get device size, older sfdisk 2022-09-05 12:48:27 +03:00
epoll_manager.cpp Handle get_sqe failures, don't die with "will fall out of sync" in epoll_manager 2022-01-31 02:52:20 +03:00
epoll_manager.h Handle get_sqe failures, don't die with "will fall out of sync" in epoll_manager 2022-01-31 02:52:20 +03:00
etcd_state_client.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
etcd_state_client.h Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
fio_cluster.cpp Fix void* arithmetic again 2022-07-15 01:38:30 +03:00
fio_engine.cpp Fix leaks detected by clang scan-build (only 1 of 4 may be important though) 2022-01-16 00:11:59 +03:00
fio_headers.h Fix compatibility with fio 3.28+ 2022-01-31 23:39:14 +03:00
fio_sec_osd.cpp Use the larger sockaddr_storage structure 2022-02-12 11:22:56 +03:00
http_client.cpp vitastor-disk prepare: implement first form of the command 2022-08-09 01:29:29 +03:00
http_client.h Move simple-offsets into vitastor-disk, too 2022-07-15 02:19:35 +03:00
malloc_or_die.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
messenger.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
messenger.h Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
msgr_op.cpp Extract some definitions to msgr_op.{cpp,h} 2021-04-03 14:36:04 +03:00
msgr_op.h Fix build under clang and some warnings 2022-01-16 00:02:54 +03:00
msgr_rdma.cpp Fix rand initialization, add etcd connection/disconnection logging 2022-01-20 00:45:49 +03:00
msgr_rdma.h Remove naggy RDMA messages when log level is zero 2021-11-06 14:36:23 +03:00
msgr_receive.cpp Handle EINTR 2022-01-22 23:59:37 +03:00
msgr_send.cpp Handle EINTR 2022-01-22 23:59:37 +03:00
msgr_stop.cpp Add missing cancel_op(currently being read op) when stopping a client 2022-01-28 01:53:52 +03:00
nbd_proxy.cpp Use (uint64_t)1 instead of 1l / 1ul 2022-04-16 01:48:14 +03:00
nfs_conn.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
nfs_portmap.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
nfs_portmap.h Simplified NFS proxy based on own NFS/XDR implementation 2022-05-07 01:01:20 +03:00
nfs_proxy.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
nfs_proxy.h Simplified NFS proxy based on own NFS/XDR implementation 2022-05-07 01:01:20 +03:00
object_id.h Actual snapshot support (untested) 2021-04-10 17:44:12 +03:00
osd.cpp Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
osd.h Allow to configure block_size, bitmap_granularity and immediate_commit per-pool 2022-08-11 01:56:33 +03:00
osd_cluster.cpp Fix vitastor-disk prepare bugs 2022-08-19 02:22:54 +03:00
osd_flush.cpp Fix OSDs possibly dying with "map::at" errors when other OSDs are stopped 2022-02-09 10:35:29 +03:00
osd_id.h Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts 2022-06-03 15:40:00 +03:00
osd_main.cpp Use json11 instead of blockstore_config_t 2021-04-30 00:52:46 +03:00
osd_ops.cpp Add "read bitmaps" operation to secondary OSD protocol 2021-04-10 17:44:12 +03:00
osd_ops.h Implement metadata dump tool 2022-06-10 18:50:09 +03:00
osd_peering.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
osd_peering_pg.cpp Use (uint64_t)1 instead of 1l / 1ul 2022-04-16 01:48:14 +03:00
osd_peering_pg.h Delete objects only after a SYNC during rebalance in the non-immediate_commit mode 2021-03-16 12:48:26 +03:00
osd_peering_pg_test.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_primary.cpp Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts 2022-06-03 15:40:00 +03:00
osd_primary.h Implement chained (optimized) read in the primary OSD code 2021-04-10 17:44:12 +03:00
osd_primary_chain.cpp Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts 2022-06-03 15:40:00 +03:00
osd_primary_subops.cpp Fix unknown OSD numbers on error 2022-05-28 00:51:14 +03:00
osd_primary_sync.cpp Fix build under clang and some warnings 2022-01-16 00:02:54 +03:00
osd_primary_write.cpp Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts 2022-06-03 15:40:00 +03:00
osd_rmw.cpp Add extern "C" for systems like Gentoo which miss it in jerasure includes 2022-06-05 00:33:38 +03:00
osd_rmw.h Implement metadata dump tool 2022-06-10 18:50:09 +03:00
osd_rmw_test.cpp Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts 2022-06-03 15:40:00 +03:00
osd_secondary.cpp Remove etcd timeout and keepalive interval hardcode 2022-01-23 00:00:00 +03:00
osd_test.cpp Use the larger sockaddr_storage structure 2022-02-12 11:22:56 +03:00
pg_states.cpp Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
pg_states.h Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
qemu_driver.c Use (uint64_t)1 instead of 1l / 1ul 2022-04-16 01:48:14 +03:00
ringloop.cpp And one more sqe starvation fix 2022-02-01 02:50:16 +03:00
ringloop.h Fix compatibility with liburing >= 2.1 where it only has __pad2[2] 2022-01-31 22:49:40 +03:00
rw_blocking.cpp Handle EINTR 2022-01-22 23:59:37 +03:00
rw_blocking.h Support zero-copy send in fio_sec_osd to allow testing it 2021-12-27 02:12:44 +03:00
sha256.c Simplified NFS proxy based on own NFS/XDR implementation 2022-05-07 01:01:20 +03:00
sha256.h Simplified NFS proxy based on own NFS/XDR implementation 2022-05-07 01:01:20 +03:00
str_util.cpp Fix parse_size 2022-09-04 14:20:56 +03:00
str_util.h Add documentation for the new "vitastor-disk" tool 2022-08-22 00:31:30 +03:00
stub_bench.cpp Use the larger sockaddr_storage structure 2022-02-12 11:22:56 +03:00
stub_osd.cpp Use the larger sockaddr_storage structure 2022-02-12 11:22:56 +03:00
stub_uring_osd.cpp Extract bind socket code into a utility function 2022-02-06 00:39:52 +03:00
test_allocator.cpp Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
test_blockstore.cpp Implement journaled write throttling for the SSD+HDD case 2021-04-10 17:44:12 +03:00
test_cas.cpp Add a test for CAS write operation 2021-06-15 00:12:35 +03:00
test_cluster_client.cpp Watch inode metadata revisions 2021-04-10 17:44:12 +03:00
test_pattern.h Fix build under clang and some warnings 2022-01-16 00:02:54 +03:00
test_shit.cpp Use (uint64_t)1 instead of 1l / 1ul 2022-04-16 01:48:14 +03:00
timerfd_manager.cpp Fix build under clang and some warnings 2022-01-16 00:02:54 +03:00
timerfd_manager.h Add microsecond accuracy to set_timer 2021-04-10 17:44:12 +03:00
vitastor.pc.in Release 0.8.0 2022-09-05 13:51:20 +03:00
vitastor_c.cpp Remove "bool" from the C header 2021-10-18 01:49:07 +03:00
vitastor_c.h Remove "bool" from the C header 2021-10-18 01:49:07 +03:00
xor.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00