From: Xiaoli Feng Date: Sat, 24 Apr 2021 16:15:23 +0000 (+0800) Subject: common/rc: not run swapfile test for DAX X-Git-Tag: v2022.05.01~424 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=adf7f3620ca6f8db29f541d4bd85b8815afe0320;ds=sidebyside common/rc: not run swapfile test for DAX DAX doesn't support swapfile. Without this patch, _require_scratch_swapfile always returns fail for fsdax. Now change to notrun. Fixes: 725feeff ("common/rc: swapon should not fail for given FS in _require_scratch_swapfile()") Signed-off-by: Xiaoli Feng Reviewed-by: Darrick J. Wong Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 8e20749e..e53d1569 100644 --- a/common/rc +++ b/common/rc @@ -2539,8 +2539,13 @@ _require_scratch_swapfile() case "$FSTYP" in ext2|ext3|ext4) if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then - _scratch_unmount - _fail "swapon failed for $FSTYP" + if _check_s_dax "$SCRATCH_MNT/swap" 1 >/dev/null; then + _scratch_unmount + _notrun "swapfiles are not supported" + else + _scratch_unmount + _fail "swapon failed for $FSTYP" + fi fi ;; *) @@ -3404,6 +3409,7 @@ _check_s_dax() { local target=$1 local exp_s_dax=$2 + local ret=0 local attributes=$($XFS_IO_PROG -c 'statx -r' $target | awk '/stat.attributes / { print $3 }') @@ -3424,10 +3430,17 @@ _check_s_dax() fi if [ $exp_s_dax -eq 0 ]; then - (( attributes & 0x00200000 )) && echo "$target has unexpected S_DAX flag" + if (( attributes & 0x00200000 )); then + echo "$target has unexpected S_DAX flag" + ret=1 + fi else - (( attributes & 0x00200000 )) || echo "$target doesn't have expected S_DAX flag" + if ! (( attributes & 0x00200000 )); then + echo "$target doesn't have expected S_DAX flag" + ret=2 + fi fi + return $ret } _check_xflag()