Commit Graph

680 Commits (519f0810068f776614e83cbbbd332a30f4a60056)
 

Author SHA1 Message Date
Vitaliy Filippov 18a5fafa2a Fix rollback 2 years ago
Vitaliy Filippov 06f4978085 Fix fsync check in blockstore_flush (data fsyncs were disabled instead of journal fsyncs) 2 years ago
Vitaliy Filippov 7ebf1588c5 Check for immediate_commit==small in the OSD code 2 years ago
Vitaliy Filippov b0ad1e1e6d Remember writes as "unsynced" only after completing them 2 years ago
Vitaliy Filippov 0949f08407 Extract osd_primary write and sync code into separate files 2 years ago
Vitaliy Filippov 04a1f18fa5 Assign .req as a whole to always zero out the remaining part 2 years ago
Vitaliy Filippov cf9a641d66 Skip disconnected OSDs during sync 2 years ago
Vitaliy Filippov 05db1308aa Fix two potential read/write ordering problems (even though not yet seen in tests) 2 years ago
Vitaliy Filippov 98b54ca948 Don't try to "recover" misplaced objects if it would make them degraded 2 years ago
Vitaliy Filippov 23225c5e62 Do not run ping on clients that are not yet connected 2 years ago
Vitaliy Filippov 7e6e1a5a82 Release 0.5.10 2 years ago
Vitaliy Filippov 435045751d Delete objects only after a SYNC during rebalance in the non-immediate_commit mode 2 years ago
Vitaliy Filippov c5fb1d5987 Do not duplicate blockstore operations when io_uring fills up 2 years ago
Vitaliy Filippov 9f59381bea Re-distribute PG primaries over OSDs that come up after a short downtime 2 years ago
Vitaliy Filippov 9ac7e75178 Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio 2 years ago
Vitaliy Filippov 88671cf745 Fix a bug causing all flushers to wait for an fsync without actually trying to do it 2 years ago
Vitaliy Filippov fe1749c427 Fix the multiple_interrupted_rebalance test 2 years ago
Vitaliy Filippov ceb9c28de7 Set default log_level before passing config to etcd_state_client 2 years ago
Vitaliy Filippov 299d7d7c95 Use common macro for get_sqe 2 years ago
Vitaliy Filippov d1526b415f Correctly resume writes when OSD is full to return an error 2 years ago
Vitaliy Filippov f49fd53d55 Fix a bug where allocator was unable to allocate up to last (n%64) blocks, add tests for it 2 years ago
Vitaliy Filippov dd76eda5e5 Test multiple interrupted rebalancings 2 years ago
Vitaliy Filippov 87dbd8fa57 Use empty hash as the default value for some etcd keys in the monitor 2 years ago
Vitaliy Filippov b44f49aab2 Ignore zero OSDs in history osd_sets 2 years ago
Vitaliy Filippov 036555638e Release 0.5.9 2 years ago
Vitaliy Filippov af5155fcd9 Implement "no_recovery" and "no_rebalance" flags 2 years ago
Vitaliy Filippov 0d2efbecc9 Preserve previous PG history when changing PG distribution 2 years ago
Vitaliy Filippov e62e8b6bae Use real pg configuration instead of the "last clean" one for generating PG history 2 years ago
Vitaliy Filippov c4ba24c305 Do not print ping op latency 2 years ago
Vitaliy Filippov 19e47a0279 Release 0.5.8 3 years ago
Vitaliy Filippov bd178ac20f Fix history osd_set check - local OSD is always available! 2 years ago
Vitaliy Filippov 7006875a24 Make monitor stick to one etcd until the restart 2 years ago
Vitaliy Filippov ad577c4aac Add PING operation and timeouts to detect OSD failures when a host goes down 2 years ago
Vitaliy Filippov 836635c518 Use osd_out_time = 10 minutes by default 2 years ago
Vitaliy Filippov 88a03f4e98 Release 0.5.7 2 years ago
Vitaliy Filippov 2a5036669d Fix PG count change procedure 2 years ago
Vitaliy Filippov 2e0c853180 Make test_change_pg_count check if any objects are lost during the test 2 years ago
Vitaliy Filippov e91ff2a9ec Only forget offline PGs if their state is not changed during reporting 2 years ago
Vitaliy Filippov 086667f568 Do not check PG state key ownership if it doesn't exist yet 2 years ago
Vitaliy Filippov 73ce20e246 Add a test for the "reappear after move" case 2 years ago
Vitaliy Filippov 1be94da437 Check & remove extra chunks for degraded / incomplete objects, too 2 years ago
Vitaliy Filippov 80e12358a2 Use pg_data_size instead of pg_minsize for object state calculation 2 years ago
Vitaliy Filippov 36c935ace6 Use std::vector for the blockstore submission queue 2 years ago
Vitaliy Filippov 0d8b5e2ef9 Remove unused enqueue_op_first() 2 years ago
Vitaliy Filippov 98f1e2c277 Rework write/sync ordering 2 years ago
Vitaliy Filippov 21e7686037 Fix possible "assertion failed: pg.inflight >= 0" error during PG stop 2 years ago
Vitaliy Filippov ab21a1908b Check for the dirty PG flag when trying to continue to stop it after sync 2 years ago
Vitaliy Filippov 30d1ccd43e Fix an infinite loop when discarding list operations during stop_pg() 2 years ago
Vitaliy Filippov 8bdd6d8d78 Reset PG state when stopping them 2 years ago
Vitaliy Filippov 09b3e4e789 Fix OSDs being unable to stop PGs that are 'peering', not 'active' 2 years ago