PThorpe92
0f94cdef03
Fix io_uring pwritev to properly handle partial writes
2025-07-30 19:42:50 -04:00
PThorpe92
88445328a5
Handle partial writes for pwritev calls in io_uring and fix JS bindings
2025-07-30 19:42:50 -04:00
PThorpe92
5f01eaae35
Fix default io:;File::pwritev impl
2025-07-30 19:42:49 -04:00
PThorpe92
7b2163208b
batch backfilling pages when checkpointing
2025-07-30 19:42:48 -04:00
PThorpe92
2c3a9fe5ef
Finish wal transaction handling and add more wal and chkpt testing
2025-07-30 14:10:10 +03:00
PThorpe92
8806b77d26
Clear snapshot and readmark/lock index flags on failure
2025-07-30 14:09:18 +03:00
PThorpe92
8ec99a9143
Remove assert for !NO_LOCK_HELD, properly handle writing header if reset
2025-07-30 14:08:51 +03:00
PThorpe92
441319e774
Fix todo! in vfs IO preventing write wal header from using wait_for_completion
2025-07-30 14:07:19 +03:00
PThorpe92
9c75872827
Make writing wal header able to be sync
2025-07-30 14:05:18 +03:00
PThorpe92
dcf346b9b0
Update apparently very old branch to new api
2025-07-30 13:48:05 +03:00
PThorpe92
cfbe9d5b9e
Fix clippy error casting same size
2025-07-30 13:48:05 +03:00
PThorpe92
f22313575f
Fix windows method to take usize in place of u64
2025-07-30 13:48:05 +03:00
PThorpe92
edbc29e2a6
Add restart_header and truncate for WAL and tests to prep for truncate checkpoint mode
2025-07-30 13:48:05 +03:00
PThorpe92
3be8bb374d
Use usize for truncate method in place of u64
2025-07-30 13:48:05 +03:00
PThorpe92
ce1897cb4a
Impl truncate for the remainder of IO modules
2025-07-30 13:48:05 +03:00
PThorpe92
d30157518f
Impl truncate method for VFS io module and create plumbing in extension lib
2025-07-30 13:48:05 +03:00
PThorpe92
fa002cba59
Impl truncate method for io_uring IO
2025-07-30 13:48:05 +03:00
PThorpe92
a4121c8cea
Impl truncate method for generic IO
2025-07-30 13:48:05 +03:00
PThorpe92
8bf2898c47
Add truncate method to IO trait and Truncate completion variant
2025-07-30 13:48:05 +03:00
pedrocarlo
9c4ce745ba
wait_for_completion was not implemented for MemoryIO and VFS
2025-07-29 13:23:45 -03:00
pedrocarlo
d30c7d54c8
change all Arc<Completion> to Completion
2025-07-28 15:32:45 -03:00
pedrocarlo
7789c569a0
make Completion implementation contain an inner Arc<CompletionInner> so that we can must_use the Completion struct
2025-07-28 15:31:42 -03:00
Pere Diaz Bou
f458f622a5
io/unix: wrap file with Mutex
2025-07-28 11:33:57 +02:00
Levy A.
1f57ab02cf
feat: instrument WindowsIO functions
2025-07-27 20:39:49 -03:00
Levy A.
c95c6b67ee
fix: thread-safe WindowsFile
2025-07-27 20:39:49 -03:00
PThorpe92
735026b502
Use Arc pointer for user data and save indirection when processing sqe/cqes
2025-07-26 16:35:40 -04:00
Glauber Costa
a10d8d7f94
silence clippy errors with features disabled
...
When compiling with features disabled, there are lots of clippy
warnings. This PR silences them.
For the utils file, I am using a bit of a hammer and just allowing
unused stuff in the whole file. Due to the box of utilities nature of
this file, it'll always be the case that things will be unused depending
on the feature-set.
2025-07-22 20:37:45 -05:00
Jussi Saurio
9722aab8a1
clappy
2025-07-18 11:01:57 +03:00
Jussi Saurio
347a9152a6
Merge 'Replace verbose IO Completion methods with helpers' from Preston Thorpe
...
one of the last remnants of some original verbosity
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #2156
2025-07-18 10:52:17 +03:00
Jussi Saurio
7e1755ac6f
Merge 'Use pread and pwrite in run_once' from Ihor Andrianov
...
pread and pwrite is usually less instructions then seek and read. Also
added possibility for io to retry if AGAIN error happens. And made write
to wait for Event::writable
Reviewed-by: Preston Thorpe (@PThorpe92)
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #2010
2025-07-18 10:48:26 +03:00
PThorpe92
a0a948101d
Last cleanups of old completion api
2025-07-17 23:47:43 -04:00
PThorpe92
44d7570272
Add helper/convenience methods for creating io completions
2025-07-17 23:46:55 -04:00
pedrocarlo
c15f1e02d3
make most instrumentation levels to be Debug or Trace instead. Span creation in debug mode is very slow and impacts our ability to run the Simulator fast enough
2025-07-17 16:48:24 -03:00
pedrocarlo
46a7d20c12
clippy
2025-07-17 12:24:43 -03:00
pedrocarlo
4a13286d62
modify clock to use simulated time instead
2025-07-17 12:24:43 -03:00
pedrocarlo
dc5f73887e
refactor to require Arc<Completion> in file traits so that we can delay IO calls correctly
2025-07-17 12:24:43 -03:00
PThorpe92
ad2ae3e22f
Use fallback to regular fd if file registration is unavailable in io_uring
2025-07-16 23:08:46 -04:00
PThorpe92
fb78cdade0
Increase ring size from 128 -> 512
2025-07-16 22:44:20 -04:00
PThorpe92
4d09f1ab65
Enable coop_taskrun flag to disable excessive interrupts for completions
2025-07-16 22:43:44 -04:00
PThorpe92
95c343586c
Enable single_issuer flag for io_uring to signal submissions from single thread
2025-07-16 22:42:40 -04:00
PThorpe92
9dfadf7872
Add registered file descriptors to io_uring IO module
2025-07-16 22:41:47 -04:00
Pere Diaz Bou
3a34f21434
io/windows: pread return bytes read
2025-07-14 10:44:56 +02:00
Pere Diaz Bou
340391538a
io: change comment for assert
2025-07-14 10:36:06 +02:00
Pere Diaz Bou
88ff218810
io: assert small I/O
...
Let's assert **for now** that we do not read/write less bytes than
expected. This should be fixed to retrigger several reads/writes if we
couldn't read/write enough but for now let's assert.
2025-07-14 10:19:41 +02:00
Nils Koch
1a91966c7e
fix clippy errors for rust 1.88.0 (manual fix)
2025-07-12 18:58:55 +03:00
Nils Koch
828d4f5016
fix clippy errors for rust 1.88.0 (auto fix)
2025-07-12 18:58:41 +03:00
Ihor Andrianov
1100312354
use removed cb to complete copletion
2025-07-09 17:16:22 +03:00
Ihor Andrianov
2d41791f3d
clippy
2025-07-09 00:07:33 +03:00
Ihor Andrianov
f81bfa3daf
use pread and pwrite for unix io
2025-07-09 00:07:25 +03:00
pedrocarlo
b85687658d
change instrumentation level to INFO
2025-07-07 11:53:45 -03:00