test/others: Cover all-raw compression entries

Compression can fall back to raw storage for every block in an entry.
The writer then omits compression metadata so restore can use ordinary
I/O, but that fast path also depends on a page-aligned payload.

Add per-page and region tests with an incompressible mapping. Inspect
the pagemap for an aligned 56-page entry without compression metadata,
while requiring another genuine LZ4 block to prove compression was
active. Restore through direct image I/O, require native AIO when
O_DIRECT is available, and verify the workload contents.

Run the test in CI when page compression is available.

Assisted-by: Codex:GPT-5
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
This commit is contained in:
Radostin Stoyanov 2026-07-11 12:16:05 +01:00
parent f5fc0ddb56
commit deeb0f8a82
5 changed files with 189 additions and 0 deletions

View file

@ -367,6 +367,13 @@ run_non_shardable_tests() {
echo "Skipping compression/incremental test"
fi
# Raw compression fallback image format.
if criu/criu check --feature compress; then
make -C test/others/compression/raw run
else
echo "Skipping compression/raw test"
fi
./test/zdtm.py run -t zdtm/transition/pid_reuse --pre 2 # start time based pid reuse detection
./test/zdtm.py run -t zdtm/transition/pidfd_store_sk --rpc --pre 2 # pidfd based pid reuse detection