Vitaliy Filippov
|
8a8b619875
|
Handle secondary OSD connection errors [in theory]
|
2020-03-30 19:51:34 +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
|
21d0b06959
|
Implement flushing (stabilize/rollback) of unstable entries on start of the PG
|
2020-03-14 02:49:34 +03:00 |
Vitaliy Filippov
|
31f9445030
|
Use immediate_commit to benefit the primary OSD
|
2020-03-10 02:20:16 +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
|
8315407558
|
Incoming data pre-buffering
|
2020-03-04 17:34:45 +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
|
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 |
Vitaliy Filippov
|
2be4824a7a
|
Fix a small memory leak and BS_OP_SYNC mishandling, now fio does not hang during primary-osd test
|
2020-02-28 01:46:39 +03:00 |
Vitaliy Filippov
|
a406c62a71
|
Implement basic primary-sync-stabilize
|
2020-02-25 20:10:21 +03:00 |
Vitaliy Filippov
|
74673c761f
|
Make basic primary-write work
|
2020-02-25 02:55:58 +03:00 |
Vitaliy Filippov
|
09588a349f
|
Transform primary_r/w into "coroutines"
|
2020-02-24 02:40:52 +03:00 |
Vitaliy Filippov
|
4c0178f180
|
Fix some memory freeing
|
2020-02-24 01:04:23 +03:00 |
Vitaliy Filippov
|
5dd04abbac
|
Make bs_op pointer
|
2020-02-23 23:46:00 +03:00 |
Vitaliy Filippov
|
4a52a15564
|
Rename osd_op_t.op to req
|
2020-02-23 23:21:17 +03:00 |
Vitaliy Filippov
|
1100ad44bd
|
Cancel outbound operations when disconnecting a peer
|
2020-02-11 21:17:10 +03:00 |
Vitaliy Filippov
|
a66b34e04d
|
Implement event-driven PG peering
|
2020-02-11 13:41:34 +03:00 |
Vitaliy Filippov
|
97d3fc593c
|
Test and fix primary-read
|
2020-02-09 19:17:32 +03:00 |
Vitaliy Filippov
|
ec50957c41
|
WIP primary OSD read
|
2020-01-30 22:06:46 +03:00 |
Vitaliy Filippov
|
47663bd1dc
|
Add (empty) osd_primary.cpp, rename osd_read to osd_receive, add FIXMEs for fsync
|
2020-01-28 22:40:50 +03:00 |
Vitaliy Filippov
|
8c05ee252c
|
Test object list sorting, begin peering code
|
2020-01-21 22:33:02 +03:00 |
Vitaliy Filippov
|
522a9db0e2
|
Enable TCP_NODELAY
|
2020-01-09 20:32:58 +03:00 |
Vitaliy Filippov
|
a1550bdfac
|
EPOLL_CTL_DEL does not require &ev
|
2020-01-09 18:39:58 +03:00 |
Vitaliy Filippov
|
b6f0c1cde5
|
Async connection to peers
|
2020-01-04 01:23:25 +03:00 |
Vitaliy Filippov
|
b87092fcfe
|
Split osd.cpp into multiple files
|
2019-12-28 01:25:55 +03:00 |
Vitaliy Filippov
|
3134b7729a
|
Add PG structures, begin peer connection handling code
|
2019-12-27 12:05:44 +03:00 |
Vitaliy Filippov
|
8a386270bd
|
Use json11, add show_config operation, begin primary operations
|
2019-12-23 21:56:03 +03:00 |
Vitaliy Filippov
|
4de5290619
|
Implement safe(?) stop
|
2019-12-19 22:16:04 +03:00 |
Vitaliy Filippov
|
5ebc110d35
|
Implement LIST operation in the OSD
|
2019-12-19 22:04:18 +03:00 |
Vitaliy Filippov
|
d3d21e6e0f
|
Rename OP_ to BS_OP_
|
2019-12-19 13:56:26 +03:00 |
Vitaliy Filippov
|
19abe6227e
|
Fix submission ring overflow & ring_data_t reuse conflicts
|
2019-12-17 11:26:17 +03:00 |
Vitaliy Filippov
|
4fb0579b1b
|
Change epoll polling
1) it is incorrect to call level-triggered epoll in a loop without reading everything
2) it fixes the FIXME
|
2019-12-17 01:56:46 +03:00 |
Vitaliy Filippov
|
3061b8cf51
|
Add sync&stabilize test operation
|
2019-12-15 15:30:51 +03:00 |
Vitaliy Filippov
|
a7e74670a5
|
Split blockstore implementation and interface header
|
2019-12-15 14:57:18 +03:00 |
Vitaliy Filippov
|
749ab6e2c6
|
Rename blockstore_operation to blockstore_op_t
|
2019-12-15 14:57:18 +03:00 |
Vitaliy Filippov
|
f2e9749c93
|
Fix disconnection detection
|
2019-12-15 14:57:18 +03:00 |
Vitaliy Filippov
|
49f8011917
|
Add osd header and osd executable
|
2019-12-15 01:11:51 +03:00 |
Vitaliy Filippov
|
d3c6314d01
|
Finish reply code, make it compile
|
2019-12-14 20:51:59 +03:00 |
Vitaliy Filippov
|
02a0eb49c2
|
Begin reply code
|
2019-12-14 20:51:49 +03:00 |
Vitaliy Filippov
|
f6eb4326b3
|
Begin op enqueueing into the blockstore
|
2019-12-13 20:12:31 +03:00 |
Vitaliy Filippov
|
283d03ef18
|
Fix "address already in use" in test example, begin client read loop
|
2019-12-13 14:05:15 +03:00 |
Vitaliy Filippov
|
00ee6b7961
|
Accept connections
|
2019-12-12 11:32:20 +03:00 |
Vitaliy Filippov
|
a8deb7d88c
|
Begin OSD
|
2019-12-11 14:18:19 +03:00 |