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 <riteshh@xxxxxxxxxxxxx> --- v2 -> v3: 1. Removed whitelisted naming convention. 2. Added ext2/ext3 as well as supported FS for swapon. 3. Removed local variable $fstyp, instead used $FSTYP directly in switch case. common/rc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/common/rc b/common/rc index 33b5b598a198..649b1cfd884a 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.26.2