Vitaliy Filippov
|
a7a0946ba8
|
WIP OP_DELETE
|
2019-12-01 17:25:59 +03:00 |
Vitaliy Filippov
|
45f34fb3b2
|
Fix linear overwrite, make metadata writes ordered, ignore older entries when recovering journal
|
2019-11-28 22:36:38 +03:00 |
Vitaliy Filippov
|
b6fff5a77e
|
Fix metadata area size calculation, print free space, wait for free space
FIXME: Now it crashes with -ENOSPC on linear overwrite
|
2019-11-28 20:23:27 +03:00 |
Vitaliy Filippov
|
9fa0d3325f
|
Support inmemory journal
|
2019-11-28 18:06:50 +03:00 |
Vitaliy Filippov
|
d56cb290ee
|
Two FIXMEs
|
2019-11-28 01:00:22 +03:00 |
Vitaliy Filippov
|
35a6ed728d
|
Fix another stall due to bad unstable_writes tracking, do not try to write beyond the end of the journal
|
2019-11-28 00:28:08 +03:00 |
Vitaliy Filippov
|
2630e2e3b9
|
Fix metadata partition length, fix journal allocation at the end
|
2019-11-27 19:39:18 +03:00 |
Vitaliy Filippov
|
9ba243b3ee
|
Add debug prints
|
2019-11-27 18:07:51 +03:00 |
Vitaliy Filippov
|
e2b91968c5
|
Fix sync confirmations and some pipeline-stall bugs
|
2019-11-27 18:07:38 +03:00 |
Vitaliy Filippov
|
74d8ea2f01
|
Calculate data crc32c
|
2019-11-27 02:20:38 +03:00 |
Vitaliy Filippov
|
1080cbdf12
|
Fix used journal sector tracking again
|
2019-11-27 01:20:09 +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
|
299b7288d5
|
Fix journal loading
|
2019-11-21 00:52:52 +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
|
e40a71b2ce
|
Check result to be equal to iov_len
|
2019-11-18 02:09:34 +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
|
eec1c35ea4
|
Begin to debug ... all of this stuff :)
|
2019-11-16 02:32:29 +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
|
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
|
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
|
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
|
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 |
Vitaliy Filippov
|
24f5d71595
|
Move handle_event code into _read.cpp, _write.cpp; move sync code into _sync.cpp
|
2019-11-10 02:27:27 +03:00 |
Vitaliy Filippov
|
8e634d5b74
|
Continue sync implementation
|
2019-11-09 02:16:44 +03:00 |
Vitaliy Filippov
|
7456f0f7e2
|
Remove duplicate code
|
2019-11-08 19:54:57 +03:00 |
Vitaliy Filippov
|
153de65ce7
|
Begin sync implementation
|
2019-11-08 19:54:45 +03:00 |
Vitaliy Filippov
|
90f081f398
|
Check for op->wait_for conditions
It's almost identical to just re-submit... so maybe it was pointless
|
2019-11-08 12:08:25 +03:00 |
Vitaliy Filippov
|
a5f2d8b85e
|
Ack writes
|
2019-11-08 02:31:07 +03:00 |
Vitaliy Filippov
|
40890aeec5
|
Rename dirty_queue to dirty_db and make it a single std::map
|
2019-11-08 00:20:10 +03:00 |
Vitaliy Filippov
|
5330461029
|
Move blockstore journal fields to journal_t, implement multiple write buffers for journal sectors
|
2019-11-07 23:42:24 +03:00 |
Vitaliy Filippov
|
84c62840bd
|
Begin write algorithm
|
2019-11-07 02:24:12 +03:00 |