vitastor/src
Vitaliy Filippov b0b2e7df3c Fix use-after-free in keepalive_timer and rework stop_client()
The bug reproduced if fio was temporarily stopped with SIGSTOP
during write test and then resumed after 10 seconds. In this case
"pings" were failed for all clients and fio process crashed with
'use-after-free' in keepalive_timer. It happened because it called
stop_client while having a live iterator to the map.
2021-04-07 11:06:31 +03:00
..
mock Fix write replay ordering when immediate_commit != all 2021-04-03 14:51:52 +03:00
CMakeLists.txt Fix write replay ordering when immediate_commit != all 2021-04-03 14:51:52 +03:00
allocator.cpp Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
allocator.h Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
base64.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
base64.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore.cpp Use bitmap granularity for alignment checks 2021-04-03 14:36:04 +03:00
blockstore.h Use bitmap granularity for alignment checks 2021-04-03 14:36:04 +03:00
blockstore_flush.cpp Stop flushing when less than min_flusher_count operations are available (unless a trim is forced) 2021-04-03 00:53:28 +03:00
blockstore_flush.h Add min_flusher_count configuration 2021-04-03 00:53:28 +03:00
blockstore_impl.cpp Use bitmap granularity for alignment checks 2021-04-03 14:36:04 +03:00
blockstore_impl.h Forget all dirty_entries before stable big_write or delete during initialisation 2021-04-07 01:30:38 +03:00
blockstore_init.cpp Forget all dirty_entries before stable big_write or delete during initialisation 2021-04-07 01:30:38 +03:00
blockstore_init.h Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
blockstore_journal.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore_journal.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore_open.cpp Add min_flusher_count configuration 2021-04-03 00:53:28 +03:00
blockstore_read.cpp Do not duplicate blockstore operations when io_uring fills up 2021-03-16 12:48:26 +03:00
blockstore_rollback.cpp Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
blockstore_stable.cpp Forget all dirty_entries before stable big_write or delete during initialisation 2021-04-07 01:30:38 +03:00
blockstore_sync.cpp Remember writes as "unsynced" only after completing them 2021-03-25 02:41:58 +03:00
blockstore_write.cpp Add some details for debug prints 2021-03-25 11:00:10 +03:00
cluster_client.cpp Fix client connection recovery bugs, add dirty_ops limit 2021-04-07 11:06:31 +03:00
cluster_client.h Fix client connection recovery bugs, add dirty_ops limit 2021-04-07 11:06:31 +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
dump_journal.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
epoll_manager.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
epoll_manager.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
etcd_state_client.cpp Fix write replay ordering when immediate_commit != all 2021-04-03 14:51:52 +03:00
etcd_state_client.h Fix write replay ordering when immediate_commit != all 2021-04-03 14:51:52 +03:00
fio_cluster.cpp Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio 2021-03-16 12:48:26 +03:00
fio_engine.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
fio_headers.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
fio_sec_osd.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
http_client.cpp Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio 2021-03-16 12:48:26 +03:00
http_client.h Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio 2021-03-16 12:48:26 +03:00
malloc_or_die.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
messenger.cpp Fix use-after-free in keepalive_timer and rework stop_client() 2021-04-07 11:06:31 +03:00
messenger.h Fix use-after-free in keepalive_timer and rework stop_client() 2021-04-07 11:06:31 +03:00
msgr_op.cpp Extract some definitions to msgr_op.{cpp,h} 2021-04-03 14:36:04 +03:00
msgr_op.h Extract some definitions to msgr_op.{cpp,h} 2021-04-03 14:36:04 +03:00
msgr_receive.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
msgr_send.cpp Fix use-after-free in keepalive_timer and rework stop_client() 2021-04-07 11:06:31 +03:00
msgr_stop.cpp Fix use-after-free in keepalive_timer and rework stop_client() 2021-04-07 11:06:31 +03:00
nbd_proxy.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
object_id.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd.cpp Remove http_client.h include from etcd_state_client.h 2021-04-03 14:36:04 +03:00
osd.h Use bitmap granularity for alignment checks 2021-04-03 14:36:04 +03:00
osd_cluster.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_flush.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_id.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_main.cpp Use bitmap granularity for alignment checks 2021-04-03 14:36:04 +03:00
osd_ops.cpp Add PING operation and timeouts to detect OSD failures when a host goes down 2021-03-09 02:15:38 +03:00
osd_ops.h Add PING operation and timeouts to detect OSD failures when a host goes down 2021-03-09 02:15:38 +03:00
osd_peering.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_peering_pg.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +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 Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_primary.h Delete objects only after a SYNC during rebalance in the non-immediate_commit mode 2021-03-16 12:48:26 +03:00
osd_primary_subops.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_primary_sync.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_primary_write.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
osd_rmw.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_rmw.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_rmw_test.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_secondary.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_test.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
pg_states.cpp Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
pg_states.h Do not crash on PG re-peering events when operations are in progress 2021-04-07 11:06:31 +03:00
qemu_driver.c Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
qemu_proxy.cpp Remove cluster_client_t::stop() 2021-04-03 14:35:42 +03:00
qemu_proxy.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
ringloop.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
ringloop.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
rm_inode.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
rw_blocking.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
rw_blocking.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
stub_bench.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
stub_osd.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
stub_uring_osd.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
test_allocator.cpp Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
test_blockstore.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
test_cluster_client.cpp Fix client connection recovery bugs, add dirty_ops limit 2021-04-07 11:06:31 +03:00
test_pattern.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
test_shit.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
timerfd_interval.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
timerfd_interval.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
timerfd_manager.cpp Fix client connection recovery bugs, add dirty_ops limit 2021-04-07 11:06:31 +03:00
timerfd_manager.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
xor.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00