Commit Graph

105 Commits (45f34fb3b2fa484f314ad6cf2df7debf07dc9ed1)

Author SHA1 Message Date
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 e1ac4dba23 Fix safe stop procedure 2019-11-28 02:27:17 +03:00
Vitaliy Filippov d56cb290ee Two FIXMEs 2019-11-28 01:00:22 +03:00
Vitaliy Filippov cbf5173d1b Allow to specify device paths in fio options 2019-11-28 00:50:52 +03:00
Vitaliy Filippov 95396e2c83 Note read errors 2019-11-28 00:37:20 +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 876231d26b no new 2019-11-27 18:14:01 +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 78807eb244 Fix journal space check (do not overwrite the beginning of the journal) 2019-11-27 11:35:11 +03:00
Vitaliy Filippov ffff742078 Use tcmalloc 2019-11-27 11:26:47 +03:00
Vitaliy Filippov 95b0395493 Remove trim_interval=1 2019-11-27 02:47:01 +03:00
Vitaliy Filippov ce5cd13bc8 Use fdatasync (just for testing over an FS) 2019-11-27 02:41:30 +03:00
Vitaliy Filippov 06634054c9 Note to add no-fsync mode in the future 2019-11-27 02:27:38 +03:00
Vitaliy Filippov 74d8ea2f01 Calculate data crc32c 2019-11-27 02:20:38 +03:00
Vitaliy Filippov 9568354d78 Fix old_clean_loc treatment (cannot persist sparse_hash_map iterator) 2019-11-27 02:16:43 +03:00
Vitaliy Filippov 2831d40edb Fix repeated syncs 2019-11-27 02:04:46 +03:00
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