vitastor/src
Vitaliy Filippov 98f1e2c277 Rework write/sync ordering
Make syncs wait for all previous writes because it's the only way
to make sure that OSDs do not receive incomplete writes in LIST results
during peering when some writes are still in progress.

Also simplify blockstore submission queue logic.
2021-03-08 17:04:10 +03:00
..
CMakeLists.txt Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
allocator.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
allocator.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore_flush.cpp Make flusher_count adaptive and limit write iodepth 2021-02-25 23:59:33 +03:00
blockstore_flush.h Make flusher_count adaptive and limit write iodepth 2021-02-25 23:59:33 +03:00
blockstore_impl.cpp Rework write/sync ordering 2021-03-08 17:04:10 +03:00
blockstore_impl.h Rework write/sync ordering 2021-03-08 17:04:10 +03:00
blockstore_init.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore_init.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Make flusher_count adaptive and limit write iodepth 2021-02-25 23:59:33 +03:00
blockstore_read.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore_rollback.cpp Rework write/sync ordering 2021-03-08 17:04:10 +03:00
blockstore_stable.cpp Rework write/sync ordering 2021-03-08 17:04:10 +03:00
blockstore_sync.cpp Rework write/sync ordering 2021-03-08 17:04:10 +03:00
blockstore_write.cpp Rework write/sync ordering 2021-03-08 17:04:10 +03:00
cluster_client.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
cluster_client.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 a small memory leak in etcd_state_client 2021-03-08 17:04:10 +03:00
etcd_state_client.h Fix a small memory leak in etcd_state_client 2021-03-08 17:04:10 +03:00
fio_cluster.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
http_client.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
malloc_or_die.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
messenger.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
messenger.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
msgr_receive.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
msgr_send.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd.h Reset PG state when stopping them 2021-03-08 17:04:10 +03:00
osd_cluster.cpp Do not report statistics for the empty operation 2021-03-01 16:20:57 +03:00
osd_flush.cpp Replace pgs[id] with pgs.at(id) to prevent accidental auto-vivification 2021-02-28 19:36:59 +03:00
osd_id.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_main.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_ops.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_ops.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_peering.cpp Fix possible "assertion failed: pg.inflight >= 0" error during PG stop 2021-03-08 17:04:10 +03:00
osd_peering_pg.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_peering_pg.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Fix possible "assertion failed: pg.inflight >= 0" error during PG stop 2021-03-08 17:04:10 +03:00
osd_primary.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_primary_subops.cpp Fix possible "assertion failed: pg.inflight >= 0" error during PG stop 2021-03-08 17:04:10 +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 Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
pg_states.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
qemu_driver.c Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
qemu_proxy.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
test_blockstore.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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 Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +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