Re: [PATCHv2 1/2] common/rc: Add whitelisted FS support in _require_scratch_swapfile()
From: Darrick J. Wong <hidden>
Date: 2021-01-04 18:26:50
Also in:
fstests, linux-xfs
On Sun, Dec 20, 2020 at 11:39:06PM +0800, Eryu Guan wrote:
On Wed, Dec 16, 2020 at 10:53:45AM +0530, Ritesh Harjani wrote:quoted
On 12/16/20 10:47 AM, Ritesh Harjani wrote:quoted
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 <redacted> --- 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.
I would use a different phase than 'whitelisted', since that doesn't tell us why ext4 and xfs are special: # ext* and xfs have supported all variants of swap files since their # introduction, so swapon should not fail.
quoted
quoted
+ case "$fstyp" in
$FSTYP, not $fstyp
quoted
quoted
+ ext4|xfs)
I would also add a few more FSTYPs here, since at least ext2 and ext3 supported swap files. Are there other old fses that do? --D
quoted
quoted
+ 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 inI think it's reasonable. But I'd like to leave the patchset on the list for review for another week, to see if ext4 and/or xfs folks will chime in and have different thoughts. Thanks, Eryuquoted
case of such FS?quoted
+ 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