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 |
Vitaliy Filippov
|
e807d7433e
|
Add stop method stub
|
2019-11-11 21:22:28 +03:00 |
Vitaliy Filippov
|
71552adf79
|
Do not use deque, test cpp-btree
|
2019-11-11 19:42:18 +03:00 |
Vitaliy Filippov
|
46e96c5128
|
Remove duplicate journal buffer submission code
|
2019-11-11 18:38:57 +03:00 |
Vitaliy Filippov
|
1f04db7d68
|
Begin to implement stabilize as a batch operation
|
2019-11-11 16:30:47 +03:00 |
Vitaliy Filippov
|
d2d8d6e7fb
|
Comments about stabilize operation, track unsynced_writes correctly
|
2019-11-11 02:53:19 +03:00 |
Vitaliy Filippov
|
8edb9e9d6f
|
Remove duplicate journal writing code (and fix it at the same time)
|
2019-11-11 00:28:14 +03:00 |
Vitaliy Filippov
|
ff57dd420e
|
Rename object_db to clean_db
|
2019-11-10 22:41:40 +03:00 |
Vitaliy Filippov
|
69581e6d0c
|
Send STABLE entry to the journal
|
2019-11-10 22:41:40 +03:00 |
Vitaliy Filippov
|
890335bff6
|
Begin implementation of the STABLE operation
|
2019-11-10 14:37:45 +03:00 |
Vitaliy Filippov
|
7aabe11ef9
|
Switch object states after sync
|
2019-11-10 13:49:26 +03:00 |
Vitaliy Filippov
|
64185f7a1f
|
Move enqueue_write to _write.cpp
|
2019-11-10 13:27:59 +03:00 |
Vitaliy Filippov
|
e5caffb6ac
|
Allow to read specific versions
|
2019-11-10 13:26:56 +03:00 |
Vitaliy Filippov
|
2d0334f9b9
|
Remove in_progress_ops
|
2019-11-10 12:52:37 +03:00 |
Vitaliy Filippov
|
ae56fe1067
|
Finish sync algorithm in theory
|
2019-11-10 12:52:37 +03:00 |