93 Commits (85010fed380542d67adde5c3548ba1a3bd7ece36)

Author SHA1 Message Date
Vitaliy Filippov 85010fed38 Use a separate thread for epoll 2 years ago
Vitaliy Filippov 2498e504c2 Add ringloop back to timerfd 2 years ago
Vitaliy Filippov 73c80e2c39 Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 2 years ago
Vitaliy Filippov 437dc5b630 Implement a FIO engine for testing cluster I/O 2 years ago
Vitaliy Filippov 2187d06eac Add a parameter to pass the initial config to client 2 years ago
Vitaliy Filippov c573bc6bb3 (Probably almost) implement cluster client 2 years ago
Vitaliy Filippov 5feff1ffb9 Slightly cleanup socket send/receive code 2 years ago
Vitaliy Filippov 0aca6e9ca8 Extract peer connect and read-write loop into a separate file (to be shared with the client library) 2 years ago
Vitaliy Filippov fa98be6bc0 Allow to specify multiple etcd addresses 2 years ago
Vitaliy Filippov 256a7f2667 Free op->bs_op manually 2 years ago
Vitaliy Filippov 79bf57b6e2 Allow to override pg_stripe_size 2 years ago
Vitaliy Filippov e09d0e0678 Several bug fixes 2 years ago
Vitaliy Filippov 7df384031a Re-peer PGs after stopping the peer 2 years ago
Vitaliy Filippov e614a98543 Add a sad FIXME :-) 2 years ago
Vitaliy Filippov cdccc23aff Print [OSD $osd_num] in stats, print B/W only for ops that log bytes 2 years ago
Vitaliy Filippov 700428829a Fix autosync_interval default not setting when autosync_interval is skipped in config 2 years ago
Vitaliy Filippov 6488d0044a Ignore EPOLL_CTL_DEL ENOENT, fix detection of the rollback version 2 years ago
Vitaliy Filippov f6a01a4819 Extract "state-watching" etcd client into a separate file 2 years ago
Vitaliy Filippov 6202260018 Extract HTTP client functions from osd_t 2 years ago
Vitaliy Filippov a61ede9951 Remove io_uring usage from osd_http and timerfd_manager 2 years ago
Vitaliy Filippov 5084ff7c6c Measure & report recovery op count and bandwidth 2 years ago
Vitaliy Filippov f71d0c117b Measure & report op bandwidth, include local blockstore ops in stats 2 years ago
Vitaliy Filippov e8149e5848 Implement OSD_OP_DELETE 2 years ago
Vitaliy Filippov ce78454215 Reply with -EROFS to write commands in readonly mode 2 years ago
Vitaliy Filippov 7b57eeeeb3 Implement PG state locking and PG moving in response to etcd events 2 years ago
Vitaliy Filippov 0f2b8dbf6f Use a single timerfd_manager for all timers 2 years ago
Vitaliy Filippov 4f42e9659e Use etcd instead of Consul 2 years ago
Vitaliy Filippov 2a640ba2e8 Remove range port selection (leads to races) 2 years ago
Vitaliy Filippov 6a21ea207e Check peer config (at least, number) after connecting 2 years ago
Vitaliy Filippov 642802b595 Auto-select port numbers 2 years ago
Vitaliy Filippov ff38b464a5 Add consul & connect timeouts, report state before loading PGs, move init_primary to osd_cluster 2 years ago
Vitaliy Filippov 663153713b Reconnect to peers after connecting drops 2 years ago
Vitaliy Filippov f95299b769 Take PG history into account when starting PGs 2 years ago
Vitaliy Filippov 2a8e40835e Fix reporting to Consul, report even if we are purely secondary 2 years ago
Vitaliy Filippov 309486d746 Implement loading PGs from Consul (in theory) 2 years ago
Vitaliy Filippov 089b4eb208 Retry consul connection attempts and then die 2 years ago
Vitaliy Filippov f3a7ccff50 Use 4K blockstore block by default, use MEM_ALIGNMENT in osd code 2 years ago
Vitaliy Filippov 37b27c3025 Implement basic OSD status reporting to Consul 2 years ago
Vitaliy Filippov edf6d6f897 Fix http_request 2 years ago
Vitaliy Filippov d11e8dcb5e Do not flush or recover in readonly mode 2 years ago
Vitaliy Filippov 298b013eae Add simple http request function 2 years ago
Vitaliy Filippov 6212195440 Implement parallel recovery 2 years ago
Vitaliy Filippov dfb6e15eaa Implement graceful stopping of PGs 2 years ago
Vitaliy Filippov afe2e76c87 Implement regular automatic syncs, split osd_t constructor into some methods 2 years ago
Vitaliy Filippov 0f43f6d3f6 Fix crashes, print some stats 2 years ago
Vitaliy Filippov 8a8b619875 Handle secondary OSD connection errors [in theory] 2 years ago
Vitaliy Filippov dbd8418798 Reply using a single finish_op() method, allow to call OSD ops from inside the OSD 2 years ago
Vitaliy Filippov 21d0b06959 Implement flushing (stabilize/rollback) of unstable entries on start of the PG 2 years ago
Vitaliy Filippov 31f9445030 Use immediate_commit to benefit the primary OSD 2 years ago
Vitaliy Filippov 9cb07d844b Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work() 2 years ago