Vitaliy Filippov
|
8a8b619875
|
Handle secondary OSD connection errors [in theory]
|
2020-03-30 19:51:34 +03:00 |
Vitaliy Filippov
|
43fe1d88e7
|
Fix memory leaks with subops, fix recovery crashes
|
2020-03-28 19:09:20 +03:00 |
Vitaliy Filippov
|
1b30120918
|
Fix stripe reconstruction in recovery, only write modified object parts
|
2020-03-28 13:58:42 +03:00 |
Vitaliy Filippov
|
c0a22d825d
|
Fix degraded object recovery (it seems to work now)
|
2020-03-25 02:17:41 +03:00 |
Vitaliy Filippov
|
7acfc95f75
|
CONFIG_HAVE_GETTID
|
2020-03-25 01:20:20 +03:00 |
Vitaliy Filippov
|
250f22c0b6
|
Implement basic degraded object recovery (integrated into primary_write)
|
2020-03-25 01:17:50 +03:00 |
Vitaliy Filippov
|
dbd8418798
|
Reply using a single finish_op() method, allow to call OSD ops from inside the OSD
|
2020-03-24 00:18:52 +03:00 |
Vitaliy Filippov
|
036f4c5bf3
|
Fix unstable flushing, include extra OSDs with old object versions in osd_set
|
2020-03-23 20:28:47 +03:00 |
Vitaliy Filippov
|
fd8e1a8418
|
Slightly reorganize object state check code
|
2020-03-23 00:42:17 +03:00 |
Vitaliy Filippov
|
a08e0bfacd
|
Treat misplaced and degraded as separate state parts
|
2020-03-23 00:40:31 +03:00 |
Vitaliy Filippov
|
ddc3e927d3
|
Solve it in integers
|
2020-03-20 13:58:54 +03:00 |
Vitaliy Filippov
|
2aa605f2bb
|
Do not check
|
2020-03-20 13:38:35 +03:00 |
Vitaliy Filippov
|
18915b264a
|
Extract to .pm + fix all_combinations
|
2020-03-19 21:35:47 +03:00 |
Vitaliy Filippov
|
60f795e7eb
|
Add lp_solve based data distribution optimizer
|
2020-03-19 17:23:24 +03:00 |
Vitaliy Filippov
|
3a4279adbf
|
Hash-based PG distribution experiments
|
2020-03-17 18:52:39 +03:00 |
Vitaliy Filippov
|
1ec9794376
|
Extract flushing into a separate file
|
2020-03-15 18:39:31 +03:00 |
Vitaliy Filippov
|
d8164e9d84
|
Print PG states on every change
|
2020-03-14 22:19:45 +03:00 |
Vitaliy Filippov
|
21d0b06959
|
Implement flushing (stabilize/rollback) of unstable entries on start of the PG
|
2020-03-14 02:49:34 +03:00 |
Vitaliy Filippov
|
46f9bd2a69
|
Make blockstore list operation return consistent snapshots
|
2020-03-14 02:10:25 +03:00 |
Vitaliy Filippov
|
6982fe1255
|
Do not block reads by previous unfinished writes
|
2020-03-13 21:28:49 +03:00 |
Vitaliy Filippov
|
eba053febe
|
Do not start small writes before finishing the last big write to the same object
|
2020-03-12 02:15:01 +03:00 |
Vitaliy Filippov
|
899946ff96
|
Add osd_test function to unblock an OSD blocked by the lack of journal space
|
2020-03-10 17:19:24 +03:00 |
Vitaliy Filippov
|
3dd1b22d55
|
Fix segfault with concurrent OP_SYNCs
|
2020-03-10 17:00:23 +03:00 |
Vitaliy Filippov
|
31f9445030
|
Use immediate_commit to benefit the primary OSD
|
2020-03-10 02:20:16 +03:00 |
Vitaliy Filippov
|
3f522c66e6
|
Implement immediate commit mode
|
2020-03-10 01:59:15 +03:00 |
Vitaliy Filippov
|
c3737ae3ff
|
Add journal fsync to stabilize/rollback
|
2020-03-09 00:35:58 +03:00 |
Vitaliy Filippov
|
c863543bfe
|
Fix possible journal corruption caused by concurrent flushing and writing of the same journal sector
|
2020-03-08 01:21:19 +03:00 |
Vitaliy Filippov
|
1696446545
|
Rename min/max _used to _flushed
|
2020-03-07 16:41:58 +03:00 |
Vitaliy Filippov
|
41dddddbf2
|
Fix some logging
|
2020-03-07 16:41:53 +03:00 |
Vitaliy Filippov
|
2d4e24c9ce
|
Add journal dumper debugging tool
|
2020-03-06 02:29:43 +03:00 |
Vitaliy Filippov
|
844cacd357
|
Allow incorrectly forbidden BS_OP_LIST in readonly mode
|
2020-03-06 02:29:39 +03:00 |
Vitaliy Filippov
|
e19d9fde5f
|
Fix peering_pg, begin tests
|
2020-03-06 02:02:49 +03:00 |
Vitaliy Filippov
|
9cb07d844b
|
Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work()
|
2020-03-04 21:00:20 +03:00 |
Vitaliy Filippov
|
1e21555343
|
Add FIXME with Oops
|
2020-03-04 20:34:45 +03:00 |
Vitaliy Filippov
|
94cdbcd085
|
Stop reading when less than <buffer> data is available
|
2020-03-04 18:03:16 +03:00 |
Vitaliy Filippov
|
8315407558
|
Incoming data pre-buffering
|
2020-03-04 17:34:45 +03:00 |
Vitaliy Filippov
|
b27ad550cf
|
Use btree_map instead of sparsepp
|
2020-03-04 17:12:27 +03:00 |
Vitaliy Filippov
|
8e63995306
|
Allow to specify data area size
|
2020-03-04 02:32:49 +03:00 |
Vitaliy Filippov
|
c9f3654905
|
Add ringloop.h to dependencies
|
2020-03-03 17:23:33 +03:00 |
Vitaliy Filippov
|
2a5ca4ff6f
|
Measure OP_STAB in both ways
|
2020-03-03 02:18:59 +03:00 |
Vitaliy Filippov
|
2575431176
|
Fix EPOLLET race on Linux 5.5+
|
2020-03-03 01:47:56 +03:00 |
Vitaliy Filippov
|
20125db181
|
Use clock_gettime()
|
2020-03-03 00:54:42 +03:00 |
Vitaliy Filippov
|
7eac7b6d55
|
Use writev in libfio_sec_osd
|
2020-03-02 21:17:21 +03:00 |
Vitaliy Filippov
|
79839ec31d
|
Start sending immediately instead of waiting for another loop
|
2020-03-02 00:20:28 +03:00 |
Vitaliy Filippov
|
9d96e4bf0b
|
Add simple "stub bench" using sync I/O
|
2020-03-01 23:00:46 +03:00 |
Vitaliy Filippov
|
9e18293497
|
Allow to specify multiple peers
|
2020-03-01 00:46:07 +03:00 |
Vitaliy Filippov
|
56765ab750
|
Send all iovecs at once
|
2020-02-29 02:27:19 +03:00 |
Vitaliy Filippov
|
fd05e13bc4
|
Use EPOLLET
Its latency is slightly better, too
|
2020-02-29 01:56:59 +03:00 |
Vitaliy Filippov
|
c41fd7ea18
|
Measure sending subops with data
|
2020-02-29 01:46:03 +03:00 |
Vitaliy Filippov
|
c6334afc94
|
Measure OSD op/subop latency
Something is wrong: loopback RTT between OSDs is sometimes as high as 70us (should be 20us or less probably)
|
2020-02-28 12:26:49 +03:00 |