This website requires JavaScript.
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
9af000e9de
Init storage note
Vitaliy Filippov
2019-12-15 15:11:26 +0300
71635f2327
Use std::hash<object_id> instead of oid_hash
Vitaliy Filippov
2019-12-15 14:54:00 +0300
a7e74670a5
Split blockstore implementation and interface header
Vitaliy Filippov
2019-12-15 14:49:10 +0300
749ab6e2c6
Rename blockstore_operation to blockstore_op_t
Vitaliy Filippov
2019-12-15 14:11:03 +0300
f2e9749c93
Fix disconnection detection
Vitaliy Filippov
2019-12-15 01:52:08 +0300
49f8011917
Add osd header and osd executable
Vitaliy Filippov
2019-12-15 01:11:51 +0300
d3c6314d01
Finish reply code, make it compile
Vitaliy Filippov
2019-12-14 20:51:41 +0300
02a0eb49c2
Begin reply code
Vitaliy Filippov
2019-12-13 22:53:59 +0300
e052959d7b
Remove "packets"
Vitaliy Filippov
2019-12-13 20:16:08 +0300
f6eb4326b3
Begin op enqueueing into the blockstore
Vitaliy Filippov
2019-12-13 20:12:31 +0300
283d03ef18
Fix "address already in use" in test example, begin client read loop
Vitaliy Filippov
2019-12-13 14:05:11 +0300
6239f6748a
io_uring recvmsg test
Vitaliy Filippov
2019-12-13 00:02:48 +0300
00ee6b7961
Accept connections
Vitaliy Filippov
2019-12-12 11:32:20 +0300
a8deb7d88c
Begin OSD
Vitaliy Filippov
2019-12-11 14:18:19 +0300
a68bf129c4
Begin OSD ops header
Vitaliy Filippov
2019-12-10 12:07:24 +0300
a180b4961f
Hide block_* fields
Vitaliy Filippov
2019-12-10 00:13:57 +0300
aaea3e1f99
Fix read_fulfill, use vector
Vitaliy Filippov
2019-12-03 12:09:30 +0300
a2ed38fb6b
Fix segfault
Vitaliy Filippov
2019-12-03 02:27:25 +0300
1f7381e220
Do not use goto resume_0 due to some strange -O3 bug which leads to hangs (it seems it optimizes flush_queue.size() away)
Vitaliy Filippov
2019-12-03 02:14:25 +0300
fd13965b90
Force start when journal is full
Vitaliy Filippov
2019-12-03 01:45:10 +0300
2963ad98ec
Start to flush only when there are <sync_threshold> journal entries to flush
Vitaliy Filippov
2019-12-03 00:18:57 +0300
aa3b252327
Fsync data before writing metadata
Vitaliy Filippov
2019-12-02 23:16:19 +0300
a165909745
FIXME
Vitaliy Filippov
2019-12-02 18:16:23 +0300
d24860b51a
Allow to specify blockstore block size in fio options
Vitaliy Filippov
2019-12-02 15:50:55 +0300
76caecf7c7
Inmemory metadata mode
Vitaliy Filippov
2019-12-02 02:44:56 +0300
f4d06ba102
OP_DELETE flushing
Vitaliy Filippov
2019-12-02 02:11:23 +0300
a7a0946ba8
WIP OP_DELETE
Vitaliy Filippov
2019-12-01 17:25:59 +0300
14b2f49f4d
FIXME
Vitaliy Filippov
2019-11-30 23:56:24 +0300
00eeedae90
Add "fsync disabled" mode
Vitaliy Filippov
2019-11-30 23:55:30 +0300
76655929c4
Add readonly flag
Vitaliy Filippov
2019-11-30 23:39:10 +0300
9260cd263a
Verify data crc32 when reading journal
Vitaliy Filippov
2019-11-30 23:32:10 +0300
2039df76a5
Fix journal reading and make it more similar to writing :)
Vitaliy Filippov
2019-11-30 02:27:31 +0300
40781c67b2
Trim journal on start
Vitaliy Filippov
2019-11-29 02:13:30 +0300
45f34fb3b2
Fix linear overwrite, make metadata writes ordered, ignore older entries when recovering journal
Vitaliy Filippov
2019-11-28 22:36:38 +0300
b6fff5a77e
Fix metadata area size calculation, print free space, wait for free space
Vitaliy Filippov
2019-11-28 20:23:26 +0300
9fa0d3325f
Support inmemory journal
Vitaliy Filippov
2019-11-28 14:41:03 +0300
e1ac4dba23
Fix safe stop procedure
Vitaliy Filippov
2019-11-28 02:27:17 +0300
d56cb290ee
Two FIXMEs
Vitaliy Filippov
2019-11-28 01:00:22 +0300
cbf5173d1b
Allow to specify device paths in fio options
Vitaliy Filippov
2019-11-28 00:50:52 +0300
95396e2c83
Note read errors
Vitaliy Filippov
2019-11-28 00:37:15 +0300
35a6ed728d
Fix another stall due to bad unstable_writes tracking, do not try to write beyond the end of the journal
Vitaliy Filippov
2019-11-28 00:26:53 +0300
2630e2e3b9
Fix metadata partition length, fix journal allocation at the end
Vitaliy Filippov
2019-11-27 19:39:15 +0300
876231d26b
no new
Vitaliy Filippov
2019-11-27 18:14:01 +0300
9ba243b3ee
Add debug prints
Vitaliy Filippov
2019-11-27 18:07:08 +0300
e2b91968c5
Fix sync confirmations and some pipeline-stall bugs
Vitaliy Filippov
2019-11-27 18:04:52 +0300
78807eb244
Fix journal space check (do not overwrite the beginning of the journal)
Vitaliy Filippov
2019-11-27 11:35:11 +0300
ffff742078
Use tcmalloc
Vitaliy Filippov
2019-11-27 11:26:43 +0300
95b0395493
Remove trim_interval=1
Vitaliy Filippov
2019-11-27 02:47:01 +0300
ce5cd13bc8
Use fdatasync (just for testing over an FS)
Vitaliy Filippov
2019-11-27 02:33:33 +0300
06634054c9
Note to add no-fsync mode in the future
Vitaliy Filippov
2019-11-27 02:23:35 +0300
74d8ea2f01
Calculate data crc32c
Vitaliy Filippov
2019-11-27 02:20:38 +0300
9568354d78
Fix old_clean_loc treatment (cannot persist sparse_hash_map iterator)
Vitaliy Filippov
2019-11-27 02:16:43 +0300
2831d40edb
Fix repeated syncs
Vitaliy Filippov
2019-11-27 02:04:46 +0300
1080cbdf12
Fix used journal sector tracking again
Vitaliy Filippov
2019-11-27 01:20:09 +0300