Simplified distributed block storage with strong consistency, like in Ceph
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Vitaliy Filippov d56633843f Replace io_uring sendmsg/recvmsg with synchronous sendmsg/recvmsg 3 years ago
lp Handle reweights in mon 3 years ago
Make-gen.pl Auto-generate C++ header dependencies 3 years ago
Makefile Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
allocator.cpp Fix linear overwrite, make metadata writes ordered, ignore older entries when recovering journal 3 years ago
allocator.h Fix metadata area size calculation, print free space, wait for free space 3 years ago
base64.cpp Fix PG loading - now it works, at least once 3 years ago
base64.h Add base64 implementation 3 years ago
blockstore.cpp Implement basic OSD status reporting to Consul 3 years ago
blockstore.h Use 4K blockstore block by default, use MEM_ALIGNMENT in osd code 3 years ago
blockstore_flush.cpp Fix BS_OP_DELETE (the implementation was untested up to this point) 3 years ago
blockstore_flush.h Fix BS_OP_DELETE (the implementation was untested up to this point) 3 years ago
blockstore_impl.cpp Fix BS_OP_LIST to account for deleted objects: only list the newest stable entry of each object 3 years ago
blockstore_impl.h Remove duplicate code between blockstore_{rollback,stable} and blockstore_init 3 years ago
blockstore_init.cpp Make deletions instantly stable 3 years ago
blockstore_init.h Extract alignments to options 3 years ago
blockstore_journal.cpp Fix possible write stall 3 years ago
blockstore_journal.h Die when journal_sector_buffer_count is too small 3 years ago
blockstore_open.cpp Several bug fixes 3 years ago
blockstore_read.cpp Fix crashes, print some stats 3 years ago
blockstore_rollback.cpp Remove duplicate code between blockstore_{rollback,stable} and blockstore_init 3 years ago
blockstore_stable.cpp Remove duplicate code between blockstore_{rollback,stable} and blockstore_init 3 years ago
blockstore_sync.cpp Make deletions instantly stable 3 years ago
blockstore_write.cpp Make deletions instantly stable 3 years ago
cluster_client.cpp Implement a FIO engine for testing cluster I/O 3 years ago
cluster_client.h Implement a FIO engine for testing cluster I/O 3 years ago
crc32c.c Continue fio engine 3 years ago
crc32c.h Add optimized crc32c 3 years ago
dump_journal.cpp Fix some logging 3 years ago
epoll_manager.cpp Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
epoll_manager.h Implement a FIO engine for testing cluster I/O 3 years ago
etcd_state_client.cpp Add a parameter to pass the initial config to client 3 years ago
etcd_state_client.h Add a parameter to pass the initial config to client 3 years ago
fio_cluster.cpp Implement a FIO engine for testing cluster I/O 3 years ago
fio_engine.cpp CONFIG_HAVE_GETTID 3 years ago
fio_sec_osd.cpp Oops, fix fio_sec_osd block_order parsing 3 years ago
http_client.cpp Oh crap, got SIGPIPE. Add MSG_NOSIGNAL 3 years ago
http_client.h Extract HTTP client functions from osd_t 3 years ago
lambda_size.cpp c++ lambda size test 3 years ago
messenger.cpp Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
messenger.h Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
msgr_receive.cpp Replace io_uring sendmsg/recvmsg with synchronous sendmsg/recvmsg 3 years ago
msgr_send.cpp Replace io_uring sendmsg/recvmsg with synchronous sendmsg/recvmsg 3 years ago
object_id.h Implement read-modify-write calculation and extract it into a separate file 3 years ago
osd.cpp Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
osd.h Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
osd_cluster.cpp Add a parameter to pass the initial config to client 3 years ago
osd_flush.cpp Do not die if a peer is already stopped on flush error 3 years ago
osd_id.h Implement read-modify-write calculation and extract it into a separate file 3 years ago
osd_main.cpp Implement PG state locking and PG moving in response to etcd events 3 years ago
osd_ops.h Allow to specify multiple etcd addresses 3 years ago
osd_peering.cpp (Probably almost) implement cluster client 3 years ago
osd_peering_pg.cpp Simplify handle_primary_subop() arguments 3 years ago
osd_peering_pg.h Extract "state-watching" etcd client into a separate file 3 years ago
osd_peering_pg_test.cpp Implement PG state locking and PG moving in response to etcd events 3 years ago
osd_primary.cpp (Probably almost) implement cluster client 3 years ago
osd_primary.h Split osd_primary.cpp 3 years ago
osd_primary_subops.cpp Simplify handle_primary_subop() arguments 3 years ago
osd_rmw.cpp Several bug fixes 3 years ago
osd_rmw.h (Almost) Implement misplaced recovery, integrating it into calc_rmw() 3 years ago
osd_rmw_test.cpp Fix osd_rmw object recovery case (len==0) 3 years ago
osd_secondary.cpp Free op->bs_op manually 3 years ago
osd_test.cpp Simplify handle_primary_subop() arguments 3 years ago
pg_states.cpp Extract "state-watching" etcd client into a separate file 3 years ago
pg_states.h Extract "state-watching" etcd client into a separate file 3 years ago
ringloop.cpp Implement simple websocket client 3 years ago
ringloop.h Implement simple websocket client 3 years ago
rw_blocking.cpp Benchmark reads in stub_bench, too 3 years ago
rw_blocking.h Benchmark reads in stub_bench, too 3 years ago
stub_bench.cpp Benchmark reads in stub_bench, too 3 years ago
stub_osd.cpp Move uint8_t[] buffers into any_op_t/any_reply_t 3 years ago
stub_uring_osd.cpp Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 3 years ago
test.cpp Hash-based PG distribution experiments 3 years ago
test_allocator.cpp Fix allocator bug 3 years ago
test_blockstore.cpp Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work() 3 years ago
test_pattern.h Make basic primary-write work 3 years ago
timerfd_interval.cpp Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work() 3 years ago
timerfd_interval.h Add simple timer manager 3 years ago
timerfd_manager.cpp Fix timerfd_manager triggering of multiple times at the same time 3 years ago
timerfd_manager.h Fix timerfd_manager triggering of multiple times at the same time 3 years ago
xor.h Stripe read reconstruction 3 years ago