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
pedrocarlo
46f59e4f0f
add more instrumentation + add faults to shrunk plan
2025-07-07 11:53:45 -03:00
pedrocarlo
5559c45011
more instrumentation + write counter should decrement if pwrite fails
2025-07-07 11:50:21 -03:00
Andika Tanuwijaya
135c81f2db
ios support
2025-07-02 00:11:42 +07:00
Andika Tanuwijaya
4686592156
migrate dart binding to flutter plugin project
2025-07-02 00:04:42 +07:00
Pekka Enberg
eb0de4066b
Rename limbo_ext crate to turso_ext
2025-06-29 12:14:08 +03:00
pedrocarlo
1dc28e32f0
fix io_uring completion + clippy
2025-06-26 22:17:28 -03:00
pedrocarlo
bac5e4b563
refactor File and Database Storage to remove Arc<Connection> and return Arc<Connection> for caller to wait for completion
2025-06-26 22:17:28 -03:00
pedrocarlo
64d9193e7b
refactor Completion to have a type field and lift common is_complete property
2025-06-26 22:17:27 -03:00
Pekka Enberg
59d28eac93
core: Switch Completion "is_completed" to use Cell
...
Suggested by Jussi
2025-05-27 14:05:07 +03:00
Pekka Enberg
05df548b10
core/io: Add wait_for_completion() to I/O dispatcher
2025-05-27 13:47:40 +03:00
Pekka Enberg
eca9a5b703
core/io: Switch to Arc<Completion>
2025-05-27 11:28:49 +03:00
pedrocarlo
0c22382f3c
shared lock on file and throw ReadOnly error in transaction
2025-05-02 16:30:48 -03:00
Diego Reis
09d83aadf3
Fix dumb conflict errors
2025-04-13 11:10:06 -03:00
Diego Reis
d9bf383507
core/io: Untie MemoryIO's lifetime of the IO layer
2025-04-13 11:10:06 -03:00
Diego Reis
79f8b83cbe
Fix dumb clippy errors
2025-04-13 11:10:06 -03:00
Diego Reis
b519509349
core/io: Add internal in-memory MemoryIO to all IO layers
...
Honestly I don't have 100% sure if this is a good idea, the reasoning is that in any IO we'll want to do memory only operations like creating tables etc, so may want a common way to access it
2025-04-13 11:10:05 -03:00
Jussi Saurio
60a13c129f
io/linux: make syscallio the default (io_uring is really slow)
2025-04-10 13:32:26 +03:00
Pekka Enberg
e21e2b5449
Merge 'core: Fix syscall VFS on Linux' from Pekka Enberg
...
Fix the syscall VFS on Linux not to use `PlatformIO`, which is just an
alias for `io_uring`.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #1285
2025-04-09 19:38:45 +03:00
Pekka Enberg
2d009083ba
core: Fix syscall VFS on Linux
...
Fix the syscall VFS on Linux not to use `PlatformIO`, which is just an
alias for `io_uring`.
2025-04-09 19:27:58 +03:00
Avinash Sajjanshetty
2873c36b31
Implement trait Clock for implemented IOs
...
Replace `chrono::Local::now()` to return `Instant` but containing
same info
2025-04-06 23:34:13 +05:30
Avinash Sajjanshetty
8d6d50d9d5
Update IO trait
...
- Remove existing `get_current_time() -> String`
- Add super trait bound `Clock`
2025-04-06 23:06:57 +05:30
Avinash Sajjanshetty
02ee2cf90e
Add Clock trait
2025-04-06 23:02:41 +05:30
PThorpe92
e9420e7d2b
Fix platform specific ffi c ptr types
2025-03-24 22:48:07 -04:00
Daniel Boll
fc50609491
Fix io_uring WAL write corruption by ensuring buffer lifetime
...
Ensure the Arc<RefCell<Buffer>> in UringFile::pwrite remains alive until
the io_uring write completes by referencing it in the completion callback.
This prevents WAL file corruption where the correct buffer data was
overwritten with stale memory (e.g., 00 18 27 xx instead of 37 7f 06 82).
Validation:
- Tested with limbo -v io_uring and WAL operations.
- Verified with xxd and wal-browser.
Signed-off-by: Daniel Boll <danielboll.academico@gmail.com >
2025-03-19 23:55:43 -03:00
PThorpe92
57d4aa7216
Reorganize ext library and feature gate vfs to more easily prevent wasm build issues
2025-03-19 10:17:11 -04:00
PThorpe92
8e4705d6c6
Fix read completion error in vfs
2025-03-14 18:08:49 -04:00
PThorpe92
44f6054657
Impl copy + clone for io openflags
2025-03-12 21:52:51 -04:00