[LTP] [PATCH v1 1/1] swap: Add exfat to filesystems requiring tst_fill_file
Cyril Hrubis
chrubis@suse.cz
Tue Jun 9 11:19:19 CEST 2026
Hi!
> exfat, like XFS, requires actual data writes (not just fallocate) to
> fully allocate swap files. Without this, swapon(2) fails with EINVAL
> due to unallocated extents.
>
> This matches the kernel's requirement that swap files must be fully
> allocated before activation.
>
> Signed-off-by: Jan Polensky <japo@linux.ibm.com>
> ---
> libs/swap/tse_swap.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/libs/swap/tse_swap.c b/libs/swap/tse_swap.c
> index ae3c193132e6..e321cb1dfe63 100644
> --- a/libs/swap/tse_swap.c
> +++ b/libs/swap/tse_swap.c
> @@ -177,8 +177,9 @@ int make_swapfile(const char *file, const int lineno,
> if (prealloc_contiguous_file(swapfile, blk_size, blocks) != 0)
> tst_brk_(file, lineno, TBROK, "Failed to create swapfile");
>
> - /* Fill the file if needed (specific to old xfs filesystems) */
> - if (tst_fs_type(swapfile) == TST_XFS_MAGIC) {
> + /* Fill the file if needed (specific to xfs and exfat filesystems) */
> + long fs_type = tst_fs_type(swapfile);
> + if (fs_type == TST_XFS_MAGIC || fs_type == TST_EXFAT_MAGIC) {
> if (tst_fill_file(swapfile, 0, blk_size, blocks) != 0)
> tst_brk_(file, lineno, TBROK, "Failed to fill swapfile");
> }
The swapon01 works for me for exfat without this change. Where does this
fail (arch, kernel, OS, is exfat in kernel or FUSE, etc.)?
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list