Re: [PATCHv2 1/2] common/rc: Add whitelisted FS support in _require_scratch_swapfile()

Ritesh Harjani
2020-12-16T05:24:52Z

On 12/16/20 10:47 AM, Ritesh Harjani wrote:
> Filesystems e.g. ext4 and XFS supports swapon by default and an error
> returned with swapon should be treated as a failure. Hence
> add ext4/xfs as whitelisted fstype in _require_scratch_swapfile()
>
> Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com>
> ---
> v1->v2: Addressed comments from Eryu @[1]
> [1]: https://patchwork.kernel.org/project/fstests/cover/cover.1604000570.git.riteshh@linux.ibm.com/
>
> common/rc | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index 33b5b598a198..635b77a005c6 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2380,6 +2380,7 @@ _format_swapfile() {
> # Check that the filesystem supports swapfiles
> _require_scratch_swapfile()
> {
> + local fstyp=$FSTYP
> _require_scratch
> _require_command "$MKSWAP_PROG" "mkswap"
>
> @@ -2401,10 +2402,21 @@ _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
> + # For whitelisted fstyp swapon should not fail.
> + case "$fstyp" in
> + ext4|xfs)
> + if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then
> + _scratch_unmount
> + _fail "swapon failed for $fstyp"

@Eryu,
As of now I added _fail() if swapon failed for given whitelisting fstype.
Do you think this is alright, or should I just ignore the error in
case of such FS?

> + 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
>