1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Platform detection and io_uring availability probe.
//!
//! On non-Linux platforms `is_uring_available` always returns `false`,
//! causing `LocalCacheManager` to transparently fall back to
//! `LocalPageStore` (tokio::fs backend).
//!
//! References: Lance `uring.rs:32-35` — "only available on Linux and requires
//! kernel 5.1".
//!
//! See `docs/CLIENT_PAGE_CACHE_IO_URING_DESIGN.md` §3.5.
/// Detect whether io_uring is available.
///
/// 1. `target_os == "linux"` (compile-time).
/// 2. Runtime probe: try to create a minimal io_uring instance.
/// 3. On failure returns `false` → caller falls back to `LocalPageStore`.