On Tue, Jan 05, 2021 at 08:01:42PM +0530, Ritesh Harjani wrote: > 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> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > 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 >