-
41dddddbf2
Fix some logging
Vitaliy Filippov
2020-03-07 03:39:28 +0300
-
2d4e24c9ce
Add journal dumper debugging tool
Vitaliy Filippov
2020-03-06 02:02:00 +0300
-
844cacd357
Allow incorrectly forbidden BS_OP_LIST in readonly mode
Vitaliy Filippov
2020-03-06 02:02:39 +0300
-
e19d9fde5f
Fix peering_pg, begin tests
Vitaliy Filippov
2020-03-05 20:58:52 +0300
-
9cb07d844b
Make [un]register_consumer operate on pointers, rename get_loop_again() to has_work()
Vitaliy Filippov
2020-03-04 21:00:15 +0300
-
1e21555343
Add FIXME with Oops
Vitaliy Filippov
2020-03-04 20:34:45 +0300
-
94cdbcd085
Stop reading when less than <buffer> data is available
Vitaliy Filippov
2020-03-04 18:03:16 +0300
-
8315407558
Incoming data pre-buffering
Vitaliy Filippov
2020-03-02 02:58:00 +0300
-
b27ad550cf
Use btree_map instead of sparsepp
Vitaliy Filippov
2020-03-04 17:12:27 +0300
-
8e63995306
Allow to specify data area size
Vitaliy Filippov
2020-03-04 02:32:49 +0300
-
9c33de5e57
Test: use submit_and_wait()
test-submit-and-wait
Vitaliy Filippov
2020-03-03 17:48:47 +0300
-
-
-
eabfe4faac
Test SQ poll threads. Unstable and in fact slower :(
test-sq-poll
Vitaliy Filippov
2020-03-03 17:22:40 +0300
-
-
-
c9f3654905
Add ringloop.h to dependencies
Vitaliy Filippov
2020-03-03 17:23:33 +0300
-
2a5ca4ff6f
Measure OP_STAB in both ways
Vitaliy Filippov
2020-03-03 02:18:59 +0300
-
2575431176
Fix EPOLLET race on Linux 5.5+
Vitaliy Filippov
2020-03-03 01:47:56 +0300
-
20125db181
Use clock_gettime()
Vitaliy Filippov
2020-03-03 00:54:42 +0300
-
7eac7b6d55
Use writev in libfio_sec_osd
Vitaliy Filippov
2020-03-02 21:17:17 +0300
-
79839ec31d
Start sending immediately instead of waiting for another loop
Vitaliy Filippov
2020-03-02 00:20:28 +0300
-
9d96e4bf0b
Add simple "stub bench" using sync I/O
Vitaliy Filippov
2020-03-01 23:00:46 +0300
-
d2b37e083a
Test: replace EPOLLIN with blocking sockets + io_uring reads
blocking-uring-test
Vitaliy Filippov
2020-03-01 17:20:16 +0300
-
-
-
9e18293497
Allow to specify multiple peers
Vitaliy Filippov
2020-03-01 00:46:07 +0300
-
56765ab750
Send all iovecs at once
Vitaliy Filippov
2020-02-29 02:27:10 +0300
-
fd05e13bc4
Use EPOLLET
Vitaliy Filippov
2020-02-29 01:46:12 +0300
-
c41fd7ea18
Measure sending subops with data
Vitaliy Filippov
2020-02-29 01:46:03 +0300
-
c6334afc94
Measure OSD op/subop latency
Vitaliy Filippov
2020-02-28 12:25:54 +0300
-
2be4824a7a
Fix a small memory leak and BS_OP_SYNC mishandling, now fio does not hang during primary-osd test
Vitaliy Filippov
2020-02-28 01:46:39 +0300
-
1733de2db6
Test & fix single-PG primary OSD
Vitaliy Filippov
2020-02-26 18:32:00 +0300
-
df66a76ce2
...and make it work :)
Vitaliy Filippov
2020-02-25 22:52:03 +0300
-
a406c62a71
Implement basic primary-sync-stabilize
Vitaliy Filippov
2020-02-25 20:10:17 +0300
-
74673c761f
Make basic primary-write work
Vitaliy Filippov
2020-02-25 01:20:45 +0300
-
09588a349f
Transform primary_r/w into "coroutines"
Vitaliy Filippov
2020-02-24 02:40:48 +0300
-
4c0178f180
Fix some memory freeing
Vitaliy Filippov
2020-02-24 01:01:34 +0300
-
5dd04abbac
Make bs_op pointer
Vitaliy Filippov
2020-02-23 23:19:11 +0300
-
fe3c47812c
Rename osd_exec_secondary to osd_secondary
Vitaliy Filippov
2020-02-23 23:00:07 +0300
-
88e56a564f
Rename osd_read_stripe_t to osd_rmw_stripe_t
Vitaliy Filippov
2020-02-23 22:52:49 +0300
-
c71b67f2f7
Move SYNC_STAB_ALL into blockstore implementation
Vitaliy Filippov
2020-02-23 20:34:37 +0300
-
4a52a15564
Rename osd_op_t.op to req
Vitaliy Filippov
2020-02-23 19:03:06 +0300
-
72a89be912
Move uint8_t[] buffers into any_op_t/any_reply_t
Vitaliy Filippov
2020-02-23 18:57:20 +0300
-
d4fd9d982a
Implement read-modify-write calculation and extract it into a separate file
Vitaliy Filippov
2020-02-23 02:11:43 +0300
-
0e177c7a2a
Fix possible leak in blockstore_read
Vitaliy Filippov
2020-02-21 19:38:43 +0300
-
ffe073473a
Remove hardcode of the EC(2+1) scheme, now it supports EC(k+1), fix some bugs
Vitaliy Filippov
2020-02-13 19:13:16 +0300
-
b7ccd63104
Return version number from reads
Vitaliy Filippov
2020-02-12 12:30:50 +0300
-
1100ad44bd
Cancel outbound operations when disconnecting a peer
Vitaliy Filippov
2020-02-11 13:59:10 +0300
-
a66b34e04d
Implement event-driven PG peering
Vitaliy Filippov
2020-02-11 02:30:46 +0300
-
327f310868
Remove copy-pasted read/write _blocking
Vitaliy Filippov
2020-02-09 19:23:03 +0300
-
1513d0490a
Test and fix degraded-read
Vitaliy Filippov
2020-02-09 18:57:45 +0300
-
97d3fc593c
Test and fix primary-read
Vitaliy Filippov
2020-02-09 18:22:29 +0300
-
235d15422c
Mostly finish primary-OSD-read
Vitaliy Filippov
2020-02-03 12:35:02 +0300
-
9fb2d3f840
Fill out the rest of the degraded read logic; now we need to make it a "coroutine"
Vitaliy Filippov
2020-02-02 00:05:56 +0300
-
206c4eb655
WIP submit subops
Vitaliy Filippov
2020-01-31 14:07:16 +0300
-
74d0196ba5
Stripe read reconstruction
Vitaliy Filippov
2020-01-31 13:46:23 +0300
-
ec50957c41
WIP primary OSD read
Vitaliy Filippov
2020-01-30 22:06:46 +0300
-
f4707709c6
Move ack_sync() near sync_state = SYNC_DONE so it does not hang with disable_journal_fsync
Vitaliy Filippov
2020-01-29 16:50:35 +0300
-
1e286eed08
Wait for writes to complete before issuing an fsync in blockstore_sync
Vitaliy Filippov
2020-01-29 16:40:11 +0300
-
dcc9e75c63
Wait for write completion before fsync in blockstore_init
Vitaliy Filippov
2020-01-28 22:45:45 +0300
-
47663bd1dc
Add (empty) osd_primary.cpp, rename osd_read to osd_receive, add FIXMEs for fsync
Vitaliy Filippov
2020-01-28 22:40:50 +0300
-
1447c44b68
Calculate required stabilize/rollback actions, add more map perf tests
Vitaliy Filippov
2020-01-27 01:34:24 +0300
-
079f129390
Add rollback op to the OSD code
Vitaliy Filippov
2020-01-25 02:04:58 +0300
-
2b09710d6f
Implement blockstore rollback operation
Vitaliy Filippov
2020-01-24 20:10:18 +0300
-
98efdb78bd
Extract object state calculation to a separate file and slightly test it
Vitaliy Filippov
2020-01-24 02:23:27 +0300
-
d2a3f0c6dd
Begin object state calculation
Vitaliy Filippov
2020-01-23 21:43:45 +0300
-
a8bc44064d
Read object lists from peers and own blockstore
Vitaliy Filippov
2020-01-22 02:36:14 +0300
-
8c05ee252c
Test object list sorting, begin peering code
Vitaliy Filippov
2020-01-21 14:04:58 +0300
-
d0ab2a20b2
Make fsync flags separate for data, metadata and journal
Vitaliy Filippov
2020-01-17 13:40:47 +0300
-
d5386aa958
Check presence in sync_to_repeat
Vitaliy Filippov
2020-01-16 02:16:35 +0300
-
0d90966739
Add last_sync checking to fio_engine, too
Vitaliy Filippov
2020-01-16 01:03:16 +0300
-
43f6cfeb73
Extract alignments to options
Vitaliy Filippov
2020-01-16 00:35:35 +0300
-
57ecbb2cda
Parse OSD commandline options
Vitaliy Filippov
2020-01-15 23:20:07 +0300
-
8ea1ccc192
Add an OSD stub to compare sync socket I/O with io_uring + skip multiple fsyncs that fio issues
Vitaliy Filippov
2020-01-15 22:03:27 +0300
-
a3d3949dce
Do not overwrite same journal sector multiple times
Vitaliy Filippov
2020-01-15 01:55:30 +0300
-
111516381f
Add FIXME
Vitaliy Filippov
2020-01-14 18:41:53 +0300
-
36d8c8724f
Fix sparse reads using bitmap, fix journal replay (we could sometimes lose its end)
Vitaliy Filippov
2020-01-12 19:48:03 +0300
-
5739b02de8
Add sparse read to ./blockstore_test, link blockstore to libblockstore.so
Vitaliy Filippov
2020-01-12 19:47:37 +0300
-
cf819eb442
Implement sparse block bitmap to avoid zero-fill
Vitaliy Filippov
2020-01-12 02:11:09 +0300
-
4b05bde3a2
Block writes earlier than sync/stabilize would be blocked, too
Vitaliy Filippov
2020-01-10 20:05:17 +0300
-
b3f2102f33
Add queue stall tracking
Vitaliy Filippov
2020-01-10 01:23:46 +0300
-
522a9db0e2
Enable TCP_NODELAY
Vitaliy Filippov
2020-01-09 20:20:56 +0300
-
a1550bdfac
EPOLL_CTL_DEL does not require &ev
Vitaliy Filippov
2020-01-09 18:39:58 +0300
-
7dba43b3c6
Allow to exclude blockstore from OSD op processing for tests
Vitaliy Filippov
2020-01-08 12:05:59 +0300
-
ba23824561
Allow to disable zero fill
Vitaliy Filippov
2020-01-06 21:01:11 +0300
-
bf3eecc159
Extract 512 to constants
Vitaliy Filippov
2020-01-06 14:11:47 +0300
-
f3e3f8f005
Fix colocated offsets
Vitaliy Filippov
2020-01-06 02:57:08 +0300
-
2709574c93
Add offset options
Vitaliy Filippov
2020-01-06 02:12:56 +0300
-
d35ce8ab3d
Fix compile errors for newer gcc
Vitaliy Filippov
2020-01-06 02:09:59 +0300
-
b6f0c1cde5
Async connection to peers
Vitaliy Filippov
2020-01-04 01:23:25 +0300
-
b87092fcfe
Split osd.cpp into multiple files
Vitaliy Filippov
2019-12-28 01:25:55 +0300
-
3134b7729a
Add PG structures, begin peer connection handling code
Vitaliy Filippov
2019-12-26 14:06:03 +0300
-
8a386270bd
Use json11, add show_config operation, begin primary operations
Vitaliy Filippov
2019-12-23 21:56:03 +0300
-
88de39206d
ull
Vitaliy Filippov
2019-12-23 14:14:36 +0300
-
4677ace4cc
Allow zero-length overwrites
Vitaliy Filippov
2019-12-21 19:04:36 +0300
-
4de5290619
Implement safe(?) stop
Vitaliy Filippov
2019-12-19 22:16:04 +0300
-
5ebc110d35
Implement LIST operation in the OSD
Vitaliy Filippov
2019-12-19 22:04:18 +0300
-
e88ad3f2ff
Implement object list operation in blockstore
Vitaliy Filippov
2019-12-19 20:50:20 +0300
-
e8f7905e08
Allow to set write/delete version explicitly
Vitaliy Filippov
2019-12-19 19:17:54 +0300
-
d3d21e6e0f
Rename OP_ to BS_OP_
Vitaliy Filippov
2019-12-19 13:56:26 +0300
-
19abe6227e
Fix submission ring overflow & ring_data_t reuse conflicts
Vitaliy Filippov
2019-12-17 01:44:08 +0300
-
4fb0579b1b
Change epoll polling
Vitaliy Filippov
2019-12-16 21:37:13 +0300
-
c7ae3c001c
Add FIO engine for testing Blockstore through the Secondary OSD interface
Vitaliy Filippov
2019-12-16 14:03:36 +0300
-
e60e6978ac
Extract object_id and obj_ver_id to separate header
Vitaliy Filippov
2019-12-16 12:39:15 +0300
-
3061b8cf51
Add sync&stabilize test operation
Vitaliy Filippov
2019-12-15 15:30:51 +0300