Simplified distributed block and file storage with strong consistency, like in Ceph
 
 
 
 
 
 
Go to file
Vitaliy Filippov 9b33f598d3 Fix two more cluster client bugs
1) Sync could delete an unfinished write due to the lack of ordering (fixed by introducing syncing_writes)
2) Writes could be postponed indefinitely due to bad resuming of operations after a sync
2020-06-27 02:13:35 +03:00
lp Handle reweights in mon 2020-05-22 12:52:27 +03:00
Make-gen.pl Auto-generate C++ header dependencies 2020-06-01 00:25:25 +03:00
Makefile Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
allocator.cpp Fix linear overwrite, make metadata writes ordered, ignore older entries when recovering journal 2019-11-28 22:36:38 +03:00
allocator.h Fix metadata area size calculation, print free space, wait for free space 2019-11-28 20:23:27 +03:00
base64.cpp Fix PG loading - now it works, at least once 2020-04-17 02:33:44 +03:00
base64.h Add base64 implementation 2020-04-11 12:06:18 +03:00
blockstore.cpp Implement basic OSD status reporting to Consul 2020-04-14 14:52:06 +03:00
blockstore.h Use 4K blockstore block by default, use MEM_ALIGNMENT in osd code 2020-04-14 19:19:56 +03:00
blockstore_flush.cpp Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
blockstore_flush.h Fix BS_OP_DELETE (the implementation was untested up to this point) 2020-06-02 14:26:01 +03:00
blockstore_impl.cpp Fix BS_OP_LIST to account for deleted objects: only list the newest stable entry of each object 2020-06-02 23:52:48 +03:00
blockstore_impl.h Remove duplicate code between blockstore_{rollback,stable} and blockstore_init 2020-06-02 20:37:00 +03:00
blockstore_init.cpp Make deletions instantly stable 2020-06-02 23:45:22 +03:00
blockstore_init.h Extract alignments to options 2020-01-16 00:54:25 +03:00
blockstore_journal.cpp Fix possible write stall 2020-06-01 16:18:23 +03:00
blockstore_journal.h Die when journal_sector_buffer_count is too small 2020-05-24 17:26:47 +03:00
blockstore_open.cpp Several bug fixes 2020-05-24 01:51:35 +03:00
blockstore_read.cpp Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
blockstore_rollback.cpp Remove duplicate code between blockstore_{rollback,stable} and blockstore_init 2020-06-02 20:37:00 +03:00
blockstore_stable.cpp Remove duplicate code between blockstore_{rollback,stable} and blockstore_init 2020-06-02 20:37:00 +03:00
blockstore_sync.cpp Make deletions instantly stable 2020-06-02 23:45:22 +03:00
blockstore_write.cpp Make deletions instantly stable 2020-06-02 23:45:22 +03:00
cluster_client.cpp Fix two more cluster client bugs 2020-06-27 02:13:35 +03:00
cluster_client.h Fix two more cluster client bugs 2020-06-27 02:13:35 +03:00
crc32c.c Continue fio engine 2019-11-26 00:03:09 +03:00
crc32c.h Add optimized crc32c 2019-11-25 02:30:06 +03:00
dump_journal.cpp Fix some logging 2020-03-07 16:41:53 +03:00
epoll_manager.cpp Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
epoll_manager.h Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
etcd_state_client.cpp Add a parameter to pass the initial config to client 2020-06-07 00:10:12 +03:00
etcd_state_client.h Add a parameter to pass the initial config to client 2020-06-07 00:10:12 +03:00
fio_cluster.cpp Support iovecs in cluster_client_t 2020-06-24 01:31:48 +03:00
fio_engine.cpp CONFIG_HAVE_GETTID 2020-03-25 01:20:20 +03:00
fio_sec_osd.cpp Oops, fix fio_sec_osd block_order parsing 2020-06-09 00:52:00 +03:00
http_client.cpp Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
http_client.h Extract HTTP client functions from osd_t 2020-05-21 11:39:01 +03:00
lambda_size.cpp c++ lambda size test 2019-11-13 22:36:12 +03:00
messenger.cpp Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
messenger.h Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
msgr_receive.cpp Disconnect sockets when read returns zero 2020-06-24 01:32:19 +03:00
msgr_send.cpp Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
object_id.h Implement read-modify-write calculation and extract it into a separate file 2020-02-23 02:11:43 +03:00
osd.cpp Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
osd.h Use epoll_manager in osd 2020-06-20 01:28:18 +03:00
osd_cluster.cpp Add a parameter to pass the initial config to client 2020-06-07 00:10:12 +03:00
osd_flush.cpp Support iovecs for read operations 2020-06-19 19:47:05 +03:00
osd_id.h Implement read-modify-write calculation and extract it into a separate file 2020-02-23 02:11:43 +03:00
osd_main.cpp Implement PG state locking and PG moving in response to etcd events 2020-04-29 22:23:38 +03:00
osd_ops.h Allow to specify multiple etcd addresses 2020-05-25 16:30:05 +03:00
osd_peering.cpp Support iovecs for read operations 2020-06-19 19:47:05 +03:00
osd_peering_pg.cpp Simplify handle_primary_subop() arguments 2020-06-02 18:44:23 +03:00
osd_peering_pg.h Extract "state-watching" etcd client into a separate file 2020-05-22 12:38:40 +03:00
osd_peering_pg_test.cpp Implement PG state locking and PG moving in response to etcd events 2020-04-29 22:23:38 +03:00
osd_primary.cpp Support iovecs for read operations 2020-06-19 19:47:05 +03:00
osd_primary.h Split osd_primary.cpp 2020-05-03 11:04:20 +03:00
osd_primary_subops.cpp Support iovecs for read operations 2020-06-19 19:47:05 +03:00
osd_rmw.cpp Several bug fixes 2020-05-24 01:51:35 +03:00
osd_rmw.h (Almost) Implement misplaced recovery, integrating it into calc_rmw() 2020-04-05 15:50:53 +03:00
osd_rmw_test.cpp Fix osd_rmw object recovery case (len==0) 2020-05-23 15:43:37 +03:00
osd_secondary.cpp Support iovecs for read operations 2020-06-19 19:47:05 +03:00
osd_test.cpp Simplify handle_primary_subop() arguments 2020-06-02 18:44:23 +03:00
pg_states.cpp Extract "state-watching" etcd client into a separate file 2020-05-22 12:38:40 +03:00
pg_states.h Extract "state-watching" etcd client into a separate file 2020-05-22 12:38:40 +03:00
qemu_driver.c Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
qemu_proxy.cpp Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
qemu_proxy.h Fix QEMU driver bugs (QEMU and qemu-img now work! hooray!) 2020-06-26 18:25:43 +03:00
ringloop.cpp Implement simple websocket client 2020-04-25 23:11:50 +03:00
ringloop.h Implement simple websocket client 2020-04-25 23:11:50 +03:00
rw_blocking.cpp Benchmark reads in stub_bench, too 2020-06-08 01:54:44 +03:00
rw_blocking.h Benchmark reads in stub_bench, too 2020-06-08 01:54:44 +03:00
stub_bench.cpp Benchmark reads in stub_bench, too 2020-06-08 01:54:44 +03:00
stub_osd.cpp Move uint8_t[] buffers into any_op_t/any_reply_t 2020-02-23 23:21:17 +03:00
stub_uring_osd.cpp Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
test.cpp Hash-based PG distribution experiments 2020-03-17 18:52:39 +03:00
test_allocator.cpp Fix allocator bug 2019-11-27 01:12:25 +03:00
test_blockstore.cpp Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work() 2020-03-04 21:00:20 +03:00
test_pattern.h Make basic primary-write work 2020-02-25 02:55:58 +03:00
timerfd_interval.cpp Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work() 2020-03-04 21:00:20 +03:00
timerfd_interval.h Add simple timer manager 2020-04-15 13:41:44 +03:00
timerfd_manager.cpp Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
timerfd_manager.h Only use EPOLLOUT while connecting 2020-06-23 20:18:31 +03:00
xor.h Stripe read reconstruction 2020-01-31 13:46:23 +03:00