Commit fd469b7
committed
selftests/fuse: add FUSE io-uring integration test
jira SECO-478
RFE: FUSE_IO_URING
Add a kselftest for the FUSE io-uring request dispatch path. A
minimal in-memory FUSE daemon runs in a thread, negotiates
FUSE_OVER_IO_URING during FUSE_INIT, and handles requests through
FUSE_IO_URING_CMD_REGISTER / FUSE_IO_URING_CMD_COMMIT_AND_FETCH.
An atomic counter verifies requests are served through io_uring.
Test cases:
- read_file: read and verify file content
- write_and_readback: write data, read it back, compare
- readdir: list directory, verify entries
- stat_files: stat root and file, verify attributes
- concurrent_io: 4 threads doing interleaved reads and writes
- requests_via_uring: per-operation verification that read, write,
readdir, and stat each produce io_uring requests
- sustained_io: write 256KB in 4KB chunks, read back, verify pattern
- crash_recovery: fork daemon, SIGKILL with active I/O, verify
kernel health
- abort_before_ring_ready: negotiate io_uring but never register
entries, abort connection, verify no deadlock or leak
Tests SKIP when prerequisites are not met (no root, io_uring
disabled, enable_uring != Y).
Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>1 parent 30bbef4 commit fd469b7
4 files changed
Lines changed: 1458 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
8 | 17 | | |
9 | 18 | | |
10 | 19 | | |
| |||
36 | 45 | | |
37 | 46 | | |
38 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
0 commit comments