From 725feeff94cc5e00158eeb29a8d5cae40b86674c Mon Sep 17 00:00:00 2001 From: Ritesh Harjani Date: Tue, 5 Jan 2021 20:01:42 +0530 Subject: [PATCH] common/rc: swapon should not fail for given FS in _require_scratch_swapfile() Filesystems e.g. ext* and XFS supports swapon by default and an error returned with swapon should be treated as a failure. Signed-off-by: Ritesh Harjani Reviewed-by: Darrick J. Wong Signed-off-by: Eryu Guan --- common/rc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/common/rc b/common/rc index 33b5b598..649b1cfd 100644 --- a/common/rc +++ b/common/rc @@ -2401,10 +2401,22 @@ _require_scratch_swapfile() # Minimum size for mkswap is 10 pages _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) - if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then - _scratch_unmount - _notrun "swapfiles are not supported" - fi + # ext* and xfs have supported all variants of swap files since their + # introduction, so swapon should not fail. + case "$FSTYP" in + ext2|ext3|ext4|xfs) + if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then + _scratch_unmount + _fail "swapon failed for $FSTYP" + fi + ;; + *) + if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then + _scratch_unmount + _notrun "swapfiles are not supported" + fi + ;; + esac swapoff "$SCRATCH_MNT/swap" >/dev/null 2>&1 _scratch_unmount -- 2.30.2