[LTP] [PATCH V3 4/5] libswap: add function to prealloc contiguous file

Petr Vorel pvorel@suse.cz
Tue Jan 23 13:11:56 CET 2024


Hi Li,

swapoff01 fails on TMPDIR on btrfs (regardless kernel version):

# ./swapoff01 
rm -f -f -r swapoff01 swapoff02  *.o *.pyc .cache.mk *.dwo .*.dwo
BUILD libltpswap.a
make[1]: Nothing to be done for 'all'.
CC testcases/kernel/syscalls/swapoff/swapoff01
CC testcases/kernel/syscalls/swapoff/swapoff02
tst_test.c:1709: TINFO: LTP version: 20230929-295-gc20ab499a
tst_test.c:1595: TINFO: Timeout per run is 0h 00m 30s
tst_ioctl.c:21: TINFO: FIBMAP ioctl is NOT supported: EINVAL (22)
libswap.c:33: TINFO: FS_NOCOW_FL attribute set on ./tstswap
swapoff01.c:24: TFAIL: Failed to turn on the swap file, skipping test iteration: EINVAL (22)

=> I guess we would need to replace tst_fill_file() with
prealloc_contiguous_file() (which is not public), or use make_swapfile()
directly. But here we create file first with 65536 blocks and make_swapfile()
creates 10 block file (with prealloc_contiguous_file() or previously also with
tst_fill_file()).

Kind regards,
Petr

--- testcases/kernel/syscalls/swapoff/swapoff01.c
+++ testcases/kernel/syscalls/swapoff/swapoff01.c
@@ -44,11 +44,8 @@ static void setup(void)
                tst_brk(TBROK,
                        "Insufficient disk space to create swap file");
 
-       if (tst_fill_file("swapfile01", 0x00, 1024, 65536))
+       if (make_swapfile("swapfile01", 1))
                tst_brk(TBROK, "Failed to create file for swap");
-
-       if (system("mkswap swapfile01 > tmpfile 2>&1") != 0)
-               tst_brk(TBROK, "Failed to make swapfile");
 }




More information about the ltp mailing list