105 Commits (900171586b78e9b0d201928b805475f8f37de292)

Author SHA1 Message Date
Vitaliy Filippov 9f2a948712 Make pg_stripe_size a per-pool config 1 year ago
Vitaliy Filippov 0471b09b9c Add license notices to all source code files 1 year ago
Vitaliy Filippov 53832d184a Allow to use lazy sync with replicated pools 1 year ago
Vitaliy Filippov 44973e7f27 Fix replicated pool bugs 1 year ago
Vitaliy Filippov 4f9b5286a0 Add replicated pool support to OSD logic 1 year ago
Vitaliy Filippov 168cc2c803 Add pool support to OSD, part 1 1 year ago
Vitaliy Filippov 3932c9b2e2 Add WRITE_STABLE to the secondary OSD for the upcoming replication support 1 year ago
Vitaliy Filippov a7929931eb Implement PG epochs to prevent the "version split" 2 years ago
Vitaliy Filippov 9abaf5b735 Use epoll_manager in osd 2 years ago
Vitaliy Filippov 73c80e2c39 Move accept_connections() to osd_messenger_t, add a simple uring OSD stub 2 years ago
Vitaliy Filippov 2f6cf605a1 Rename cluster_client to osd_messenger 2 years ago
Vitaliy Filippov 571be0f380 Make deletions instantly stable 2 years ago
Vitaliy Filippov a56f8cd14e Simplify handle_primary_subop() arguments 2 years ago
Vitaliy Filippov 45b1c2fbf1 Fix canceling of write operations on PG re-peer (which led to use-after-free, too...) 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 79bf57b6e2 Allow to override pg_stripe_size 2 years ago
Vitaliy Filippov 6488d0044a Ignore EPOLL_CTL_DEL ENOENT, fix detection of the rollback version 2 years ago
Vitaliy Filippov 393fe75900 Fix creepy (osd_op_t*)(long) casts 2 years ago
Vitaliy Filippov e56909fb45 Remove tv_send (unused) and timerfd_interval from blockstore 2 years ago
Vitaliy Filippov 9f842ec9a5 Remove connect callback because it is always the same 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 c2c2eefea4 Duplicate host in osd/state and osd/stats, take PGs from /config/pgs.items 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 6355b968f4 Track osd_set history and all_peers separately 2 years ago
Vitaliy Filippov 1bc08174f9 Sync before listing objects so flushes do not fail thereafter 2 years ago
Vitaliy Filippov cd87333091 Fix PG state comparison leading to unclean PGs not flushing 2 years ago
Vitaliy Filippov 7b57eeeeb3 Implement PG state locking and PG moving in response to etcd events 2 years ago
Vitaliy Filippov 268b497c0b Implement simple websocket client 2 years ago
Vitaliy Filippov 35481925b1 Implement very simple HTTP streaming to handle etcd watches 2 years ago
Vitaliy Filippov caa01c6aaf Acquire etcd leases, prevent starting two OSDs with the same number 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 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 37b27c3025 Implement basic OSD status reporting to Consul 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 d59be0e8b4 Delete misplaced chunks after moving the object, reset object state in primary_write 2 years ago