vitastor/src
Vitaliy Filippov e950c024d3 Do not sync peer OSDs before listing
Sync before listing was added to wait for all PG writes possibly left in queue
from the previous master to finish before listing it

But in fact it may block the cluster when EC is used and some unstable writes
are left in the queue - they block journal flushing, rollback/stabilize is
required to unblock them, but rollback/stabilize may only happen after PG is
peered. But peering needs listings, listings are requested only after sync, and
sync itself waits for currently blocked writes waiting in the queue
2023-01-03 00:05:45 +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 Build osd_rmw_test both with and without ISA-L 2022-12-29 19:13:57 +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 Fix another rare journal flush stall 2022-12-30 02:03:33 +03:00
blockstore_flush.h Shard clean_db by PGs to speedup listings 2022-02-20 00:21:24 +03:00
blockstore_impl.cpp Do not sync peer OSDs before listing 2023-01-03 00:05:45 +03:00
blockstore_impl.h Remove LIST op limiter 2022-12-26 02:48:48 +03:00
blockstore_init.cpp Oops. Fix metadata read after fixes :-) 2022-12-17 17:31:57 +03:00
blockstore_init.h Final fix for the lack of zeroing out of old metadata entries 2022-12-17 14:50:31 +03:00
blockstore_journal.cpp Explicitly print errors about -EAGAIN in io_uring 2022-12-17 15:49:49 +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 Fix another rare journal flush stall 2022-12-30 02:03:33 +03:00
blockstore_rollback.cpp Fix another rare journal flush stall 2022-12-30 02:03:33 +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 Do not sync peer OSDs before listing 2023-01-03 00:05:45 +03:00
cli.cpp Make vitastor-cli print help on missing command 2022-12-26 02:48:48 +03:00
cli.h Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_alloc_osd.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_common.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_create.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_df.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_flatten.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_ls.cpp Rename base64.{cpp.h} to str_util 2022-07-31 01:12:37 +03:00
cli_merge.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_modify.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_rm.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_rm_data.cpp Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
cli_rm_osd.cpp Suppress warnings in vitastor-disk purge correctly 2022-12-27 11:09:19 +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 Fix possible duplication of ping & op message IDs 2022-12-04 00:16:47 +03:00
cluster_client.h Fix possible duplication of ping & op message IDs 2022-12-04 00:16:47 +03:00
cluster_client_list.cpp Fix possible duplication of ping & op message IDs 2022-12-04 00:16:47 +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 vitastor-disk purge (now it works) 2022-12-27 02:28:20 +03:00
disk_tool.h Fix vitastor-disk purge (now it works) 2022-12-27 02:28:20 +03:00
disk_tool_journal.cpp Add missing offset&len into big_writes journal dump, fix commas again 2022-12-21 02:51:11 +03:00
disk_tool_meta.cpp Add missing offset&len into big_writes journal dump, fix commas again 2022-12-21 02:51:11 +03:00
disk_tool_prepare.cpp Fix vitastor-disk purge (now it works) 2022-12-27 02:28: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 Suppress warnings in vitastor-disk purge correctly 2022-12-27 11:09:19 +03:00
disk_tool_upgrade.cpp Fix vitastor-disk purge (now it works) 2022-12-27 02:28:20 +03:00
disk_tool_utils.cpp Fix vitastor-disk purge (now it works) 2022-12-27 02:28:20 +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 Make OSD sort & sanitize PG history items 2023-01-01 23:17:42 +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 Fix possible use-after-free during pings 2022-12-04 00:16:47 +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 Add a new recovery_pg_switch setting to mix all PGs during recovery 2022-12-30 02:03:33 +03:00
osd.h Do not sync peer OSDs before listing 2023-01-03 00:05:45 +03:00
osd_cluster.cpp Report PG history synchronously during write 2023-01-01 23:41:05 +03:00
osd_flush.cpp Add a new recovery_pg_switch setting to mix all PGs during recovery 2022-12-30 02:03:33 +03:00
osd_id.h Add a new recovery_pg_switch setting to mix all PGs during recovery 2022-12-30 02:03:33 +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 Do not sync peer OSDs before listing 2023-01-03 00:05:45 +03:00
osd_peering_pg.cpp Report PG history synchronously during write 2023-01-01 23:41:05 +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 Return ENOSPC as the primary OSD 2022-12-30 02:03:33 +03:00
osd_primary.h Return ENOSPC as the primary OSD 2022-12-30 02:03:33 +03:00
osd_primary_chain.cpp Return ENOSPC as the primary OSD 2022-12-30 02:03:33 +03:00
osd_primary_subops.cpp Return ENOSPC as the primary OSD 2022-12-30 02:03:33 +03:00
osd_primary_sync.cpp Return ENOSPC as the primary OSD 2022-12-30 02:03:33 +03:00
osd_primary_write.cpp Report PG history synchronously during write 2023-01-01 23:41:05 +03:00
osd_rmw.cpp Fix jerasure crashing on bitmap calculation/restoration due to the lack of 16-byte alignment 2022-12-29 19:13:57 +03:00
osd_rmw.h Implement metadata dump tool 2022-06-10 18:50:09 +03:00
osd_rmw_test.cpp Build osd_rmw_test both with and without ISA-L 2022-12-29 19:13:57 +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 Fix compatibility with QEMU aio_set_fd_handler signatures in 7.0 and < 2.9 2022-12-15 19:17:17 +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 Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +03:00
str_util.h Implement safety check for OSD removal, translate all '-' to '_' in cli options 2022-12-26 02:48:48 +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_crc32.cpp Add crc32c test utility 2022-11-20 00:50:13 +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.3 2022-12-27 02:40:55 +03:00
vitastor_c.cpp Remove "bool" from the C header 2021-10-18 01:49:07 +03:00
vitastor_c.h Fix compatibility with QEMU aio_set_fd_handler signatures in 7.0 and < 2.9 2022-12-15 19:17:17 +03:00
xor.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00