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 <riteshh@linux.ibm.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Ritesh Harjani
2021-01-05 20:01:42 +05:30
committed by Eryu Guan
parent 02f7e9feb9
commit 725feeff94
+16 -4
View File
@@ -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