Pere Diaz Bou
e2276c2e9d
O_DIRECT disable on WAL
2024-11-13 13:45:42 +00:00
Pere Diaz Bou
cbfb45e55b
more trace logs
2024-11-13 11:31:22 +00:00
Pere Diaz Bou
78118bae81
fmt
2024-11-13 09:34:36 +00:00
Pere Diaz Bou
8d1d2d36cc
core/linux: aligned wal header read
2024-11-12 17:53:59 +00:00
Pere Diaz Bou
74974d07e7
clippy fix
2024-11-08 11:14:29 +01:00
Pere Diaz Bou
7d8fc80f4b
use len instead of size
2024-11-07 14:01:35 +01:00
Pere Diaz Bou
ce1367b76a
move wal creation
2024-11-07 13:51:02 +01:00
Pere Diaz Bou
218c32e0e6
remove unix import in windoews
2024-11-07 13:34:48 +01:00
Pere Diaz Bou
0b46648c0e
write wal header on init
2024-11-07 13:29:57 +01:00
Pere Diaz Bou
0d857661f2
windows complete completion
2024-11-07 09:57:24 +01:00
Pere Diaz Bou
2514287263
windows fix
2024-11-06 18:11:15 +01:00
Pere Diaz Bou
cef78d54de
fix generic
2024-11-06 17:53:14 +01:00
Pere Diaz Bou
eb8c462c5f
fix io submission on cacheflush
2024-11-06 16:25:42 +00:00
Pere Diaz Bou
da7717edfb
fix generic io match
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
5207e49399
remove extra borrow mut
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
0f4270b48f
rebase submit entry
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
70a4ccd8bb
fix linux completion match
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
fc65c5096d
cacheflush state machine
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
129cc1cd6d
fix open_file generic
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
f009eb35c6
suspendable checkpoint
2024-11-05 15:29:54 +01:00
Pere Diaz Bou
c0e51c4ca6
wip wal
2024-11-05 15:29:53 +01:00
Arpit Saxena
b7debabd81
Wrap IoUring to ensure pending_ops is always correctly updated
...
Adds a struct WrappedIOUring which contains a IoUring and a pending_ops
field. Entry submission and popping from the queue is done through
functions operating on it, which also maintains pending_ops count
NOTE: This is a bit weird/hacky since in get_completion we create a
CompletionQueue and just call its next(). If it were a normal iterator
it would always return the same first item. However it is a queue posing
as an iterator which makes this work.
2024-09-28 00:10:05 +05:30
Arpit Saxena
a7d735d368
Maintain pending io_uring ops count for early return on run_once
...
Add a `pending_ops` field to `InnerLinuxIO` struct which is incremented
for each operation submitted to the ring and decremented when they are
taken off the completion queue. With this, we can exit from run_once if
there are no pending operations. Otherwise, in that case, it would hang
indefinitely due to call of `ring.submit_and_wait(1)`
2024-09-27 23:32:19 +05:30
mazchew
671b61ba19
add time querying to io trait
2024-08-25 22:55:15 +08:00
mazchew
156005694a
added rng to io trait for simulation
2024-08-22 23:24:02 +08:00
sonhmai
0e7bd95e4e
core: fix clippy
2024-08-03 20:14:26 +07:00
Pekka Enberg
82ff5b9c9b
core: Remove useless use of format!()
2024-08-01 09:16:02 +03:00
Pekka Enberg
8f6a2fc814
core: Fix I/O compliation on Windows
...
...just steal the generic implementation of pread() and pwrite().
2024-07-31 19:58:37 +03:00
Pekka Enberg
e00690bf9b
core: Fix I/O build on Darwin
2024-07-31 19:52:59 +03:00
Pere Diaz Bou
b8e08dcdc4
core: more2 fix completion darwin io
2024-07-31 18:07:22 +02:00
Pere Diaz Bou
10da6a673d
core: more fix completion darwin io
2024-07-31 18:04:26 +02:00
Pere Diaz Bou
38c407a286
core: fix completion darwin io
2024-07-31 18:01:38 +02:00
Pere Diaz Bou
82ee0e4a00
core: fix completion generic io
2024-07-31 17:58:45 +02:00
Pere Diaz Bou
d088640855
core: cqe result
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
84bf0ea96a
core: remove a bunch of warnings
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
845a1ea175
core: cacheflush and fix *Completion casting
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
bbf238a6a4
core/io: save raw buffers on page
...
necessary for future lazy addressing of values and writes to page data
2024-07-31 17:27:02 +02:00
Pekka Enberg
351242561d
Kill anyhow usage
...
Switch anyhow to explicit `LimboError` type using thiserror crate, which
lets us make error handling more structured.
2024-07-25 17:15:08 +03:00
jussisaurio
dcd08e3b38
Extract modules expr,select,where_clause from translate.rs
2024-07-18 14:31:26 +03:00
gandeevanr
c391b7b9a6
implemented the drop trait for all the limbo_core::File implementations
2024-07-17 11:34:47 -07:00
gandeevanr
9ef212edd3
Added support to disallow multiple processes from opening the same database file in linux and darwin
2024-07-17 11:34:47 -07:00
Joan Martinez
b4cd8e39b5
core: validate result from CQ
2024-07-16 14:08:49 +02:00
Pekka Enberg
207ec5ce92
core: Enable direct I/O optimistically
...
...but keep going if the filesystem does not support it. Fixes Limbo on
older Linux kernels that have io_uring but don't support direct I/O on
all filesystems, such as tmpfs or encryptfs.
2024-07-16 14:48:38 +03:00
Pekka Enberg
812a8b9ea2
core: Switch io_ring to Readv and Writev
...
The Readv and Writev opcodes are available on all Linux kernel versions
so let's switch to them.
2024-07-16 14:24:12 +03:00
Raminder Singh
e4a9c5ce6e
fix clippy warnings
2024-07-14 16:50:54 +05:30
Bennett Clement
30e4a70d07
ignore wasm compilation target
2024-07-13 15:17:18 +08:00
Bennett Clement
26152e07e5
Use kqueue for Darwin IO
2024-07-13 09:44:03 +08:00
Ishan Jain
c171b63ec2
use O_DIRECT for file read operations
2024-07-09 11:41:20 +05:30
Kunal Singh
00c26286ce
fix: lint warnings
2024-07-08 22:43:11 +05:30
Piotr Jastrzebski
3b3ea9a54f
Derive Clone for Buffer
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 09:28:58 +02:00