Vitaliy Filippov
|
1080cbdf12
|
Fix used journal sector tracking again
|
2019-11-27 01:20:09 +03:00 |
Vitaliy Filippov
|
6ac1d5db08
|
Fix allocator bug
|
2019-11-27 01:12:25 +03:00 |
Vitaliy Filippov
|
ff7469ee91
|
Make allocator a class
|
2019-11-27 00:50:57 +03:00 |
Vitaliy Filippov
|
b8e53f8c67
|
Fix op validation, fix journal sector usage tracking
Now it runs for a while with fio but then crashes with ENOSPC because
of an apparent bug in the allocator
|
2019-11-26 20:38:25 +03:00 |
Vitaliy Filippov
|
a6770f619a
|
Fix crash while reading metadata
|
2019-11-26 12:06:42 +03:00 |
Vitaliy Filippov
|
a8f250c68f
|
fio engine starts now
|
2019-11-26 02:18:42 +03:00 |
Vitaliy Filippov
|
a7dc759f74
|
Compile fio engine
|
2019-11-26 01:50:26 +03:00 |
Vitaliy Filippov
|
3e46728321
|
Continue fio engine
|
2019-11-26 00:03:09 +03:00 |
Vitaliy Filippov
|
b67406e764
|
Start fio engine
|
2019-11-26 00:03:04 +03:00 |
Vitaliy Filippov
|
d0fdcbd7ff
|
Add optimized crc32c
|
2019-11-25 02:30:06 +03:00 |
Vitaliy Filippov
|
be3015169f
|
Safe stop procedure
|
2019-11-25 01:29:07 +03:00 |
Vitaliy Filippov
|
50cf3667fa
|
Track unstable writes
|
2019-11-25 01:16:34 +03:00 |
Vitaliy Filippov
|
82a2b8e7d9
|
Fix some extra bugs and it seems now it is even able to trim the journal
|
2019-11-22 12:08:44 +03:00 |
Vitaliy Filippov
|
7e87290fca
|
Clear second sector of the journal, init iov for callbacks
|
2019-11-21 22:06:00 +03:00 |
Vitaliy Filippov
|
201eeb8516
|
Rewrite metadata_init to the same "goto-coroutine" style
|
2019-11-21 21:51:52 +03:00 |
Vitaliy Filippov
|
2b12428cb1
|
Debug OP_STABLE so the basic case passes without problem
|
2019-11-21 02:09:18 +03:00 |
Vitaliy Filippov
|
299b7288d5
|
Fix journal loading
|
2019-11-21 00:52:52 +03:00 |
Vitaliy Filippov
|
eb55b2fe20
|
Initialize sector 0 of the journal
|
2019-11-19 20:03:19 +03:00 |
Vitaliy Filippov
|
b5f04c58ff
|
Rewrite journal_init to the "goto-coroutine" style
|
2019-11-19 19:50:58 +03:00 |
Vitaliy Filippov
|
3bfa2f5f39
|
Fix io_uring submission, journal sector selection
|
2019-11-19 18:07:40 +03:00 |
Vitaliy Filippov
|
8c690c76ec
|
Wakeup ring loop
|
2019-11-18 14:08:11 +03:00 |
Vitaliy Filippov
|
b6174075de
|
Fix write iov_len check
|
2019-11-18 13:37:32 +03:00 |
Vitaliy Filippov
|
5b8df6768b
|
Try to submit a test write operation
|
2019-11-18 02:36:53 +03:00 |
Vitaliy Filippov
|
debaf6c943
|
Print init messages
|
2019-11-18 02:09:34 +03:00 |
Vitaliy Filippov
|
e40a71b2ce
|
Check result to be equal to iov_len
|
2019-11-18 02:09:34 +03:00 |
Vitaliy Filippov
|
d9d6a4f9c4
|
Forgot to pass cqe result :)
|
2019-11-17 22:26:55 +03:00 |
Vitaliy Filippov
|
c2de733e35
|
Copy io_uring_prep_* to my_uring_prep_* so they do not clear user_data
|
2019-11-17 21:39:30 +03:00 |
Vitaliy Filippov
|
2f429b17dd
|
io_uring timeout testing
|
2019-11-17 18:19:11 +03:00 |
Vitaliy Filippov
|
eec1c35ea4
|
Begin to debug ... all of this stuff :)
|
2019-11-16 02:32:29 +03:00 |
Vitaliy Filippov
|
da2fe69879
|
Allow to open regular files
|
2019-11-16 02:24:49 +03:00 |
Vitaliy Filippov
|
a4aaa3c7c7
|
First implementation of journal trimming
In theory it's possible to start testing blockstore at this point!
|
2019-11-15 16:12:55 +03:00 |
Vitaliy Filippov
|
c7d9dc027b
|
Remove extra states as they seem useless
|
2019-11-15 14:02:37 +03:00 |
Vitaliy Filippov
|
c38c8ab029
|
Prevent two parallel flushes of the same object
|
2019-11-15 13:58:35 +03:00 |
Vitaliy Filippov
|
71194f014a
|
Update dirty_db and clean_db after flushing an entry
|
2019-11-15 02:26:18 +03:00 |
Vitaliy Filippov
|
0627dd0f5e
|
Used journal sector tracking
|
2019-11-15 02:04:19 +03:00 |
Vitaliy Filippov
|
f1e236c6e8
|
Sync metadata & data after copying from journal
|
2019-11-14 14:09:07 +03:00 |
Vitaliy Filippov
|
bc549553e4
|
Rename dirty_entry.size to len, remove some unneeded methods and fields, read metadata correctly
|
2019-11-14 01:13:07 +03:00 |
Vitaliy Filippov
|
1c6b9778a4
|
Handle all io_uring events using lambdas
|
2019-11-13 22:46:42 +03:00 |
Vitaliy Filippov
|
7739f628cb
|
c++ lambda size test
|
2019-11-13 22:36:12 +03:00 |
Vitaliy Filippov
|
214da03735
|
Move flusher into a separate file
|
2019-11-13 17:46:05 +03:00 |
Vitaliy Filippov
|
75398414d1
|
Add grouping flusher class
|
2019-11-13 17:41:57 +03:00 |
Vitaliy Filippov
|
db66b3916e
|
Begin metadata read-modify-write
|
2019-11-13 16:07:29 +03:00 |
Vitaliy Filippov
|
ae77a228c7
|
Rename big_write.block to location
|
2019-11-12 20:58:27 +03:00 |
Vitaliy Filippov
|
bb55a7fbf4
|
Zero-fill new objects and write them to the main storage
|
2019-11-12 20:49:57 +03:00 |
Vitaliy Filippov
|
4afa95b0e3
|
FSM is a dreadful unreadable thing, reimplement using gotos
|
2019-11-12 18:16:41 +03:00 |
Vitaliy Filippov
|
34451b6e44
|
Try to implement journal flusher as a FSM
|
2019-11-12 18:16:38 +03:00 |
Vitaliy Filippov
|
ab20aef941
|
test queue with random removal
|
2019-11-12 12:12:23 +03:00 |
Vitaliy Filippov
|
f892104aed
|
Begin journal flusher
|
2019-11-12 12:02:11 +03:00 |
Vitaliy Filippov
|
5ac3910cef
|
Test deque
|
2019-11-12 12:01:39 +03:00 |
Vitaliy Filippov
|
badb47bc80
|
Test with random
|
2019-11-11 21:27:31 +03:00 |