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

Petr Vorel pvorel@suse.cz
Tue Jan 23 13:37:40 CET 2024


Hi Li,

> Hi Li,

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

FYI it works on Tumbleweed with 6.7 kernel. It's broken on some older SLES
with 5.14 and all older kernels. I suppose with nocow (fixes I suggested
previously) would work as expected (TPASS, or TCONF on kernel < 5.0).

Kind regards,
Petr

> # ./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