67 Commits (900171586b78e9b0d201928b805475f8f37de292)

Author SHA1 Message Date
Vitaliy Filippov 776fe954a5 Fix crashes on multiple OSD reconnects 1 year ago
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 352caeba14 Fix one more bug with replicated reads 1 year ago
Vitaliy Filippov 44973e7f27 Fix replicated pool bugs 1 year ago
Vitaliy Filippov e051db5a73 Check for unsuccessful memory allocations 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 a7929931eb Implement PG epochs to prevent the "version split" 2 years ago
Vitaliy Filippov e680d6c1c3 Rename reconstruct_stripe and calc_rmw_parity to indicate that they are only for XOR N+1 2 years ago
Vitaliy Filippov badf68c039 Support iovecs for read operations 2 years ago
Vitaliy Filippov 0f6d193d73 Postpone op callbacks to the end of handle_read(), fix a bug where primary OSD could reply -EPIPE with data to a read operation 2 years ago
Vitaliy Filippov c573bc6bb3 (Probably almost) implement cluster client 2 years ago
Vitaliy Filippov 571be0f380 Make deletions instantly stable 2 years ago
Vitaliy Filippov 46e111272f Replace assert(this_it == cur_op) with if() for the case of PG repeering 2 years ago
Vitaliy Filippov c3fe9ad0d1 Fix rebalancing writes (add a forgotten state resume) 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 b466e215f0 Fix queued OP_SYNC execution 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 e09d0e0678 Several bug fixes 2 years ago
Vitaliy Filippov 393fe75900 Fix creepy (osd_op_t*)(long) casts 2 years ago
Vitaliy Filippov 19f25c7cd5 Handle integer overflow of the op_stat_count 2 years ago
Vitaliy Filippov 5084ff7c6c Measure & report recovery op count and bandwidth 2 years ago
Vitaliy Filippov e8149e5848 Implement OSD_OP_DELETE 2 years ago
Vitaliy Filippov 00cf24fbd7 Split osd_primary.cpp 2 years ago
Vitaliy Filippov bd0fe6e4cc Fix PGs not stopping during sync, fix state reporting autovivification of erased PGs 2 years ago
Vitaliy Filippov 7b57eeeeb3 Implement PG state locking and PG moving in response to etcd events 2 years ago
Vitaliy Filippov 37b27c3025 Implement basic OSD status reporting to Consul 2 years ago
Vitaliy Filippov 298b013eae Add simple http request function 2 years ago
Vitaliy Filippov 0880a77c1a 2 FIXME for the future 2 years ago
Vitaliy Filippov d59be0e8b4 Delete misplaced chunks after moving the object, reset object state in primary_write 2 years ago
Vitaliy Filippov cf7de0f181 (Almost) Implement misplaced recovery, integrating it into calc_rmw() 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 92c800bb64 Forget unstable writes when re-peering, rename parity_block_size -> pg_stripe_size, pg_parity_size -> pg_block_size 2 years ago
Vitaliy Filippov 8a8b619875 Handle secondary OSD connection errors [in theory] 2 years ago
Vitaliy Filippov 43fe1d88e7 Fix memory leaks with subops, fix recovery crashes 2 years ago
Vitaliy Filippov 1b30120918 Fix stripe reconstruction in recovery, only write modified object parts 2 years ago
Vitaliy Filippov c0a22d825d Fix degraded object recovery (it seems to work now) 2 years ago
Vitaliy Filippov 250f22c0b6 Implement basic degraded object recovery (integrated into primary_write) 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 56765ab750 Send all iovecs at once 2 years ago
Vitaliy Filippov 2be4824a7a Fix a small memory leak and BS_OP_SYNC mishandling, now fio does not hang during primary-osd test 2 years ago
Vitaliy Filippov 1733de2db6 Test & fix single-PG primary OSD 2 years ago
Vitaliy Filippov df66a76ce2 ...and make it work :) 2 years ago
Vitaliy Filippov a406c62a71 Implement basic primary-sync-stabilize 2 years ago