* [PATCH v2] common/rc: not run swapfile test for DAX
@ 2021-04-24 16:15 XiaoLi Feng
2021-04-28 4:07 ` Darrick J. Wong
0 siblings, 1 reply; 2+ messages in thread
From: XiaoLi Feng @ 2021-04-24 16:15 UTC (permalink / raw)
To: fstests; +Cc: djwong, Xiaoli Feng
From: Xiaoli Feng <xifeng@redhat.com>
DAX doesn't support swapfile. Without this patch,
_require_scratch_swapfile always returns fail for fsdax. Now
change to notrun.
Signed-off-by: Xiaoli Feng <xifeng@redhat.com>
---
common/rc | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/common/rc b/common/rc
index 11ff7635..c3c40f30 100644
--- a/common/rc
+++ b/common/rc
@@ -2461,8 +2461,13 @@ _require_scratch_swapfile()
case "$FSTYP" in
ext2|ext3|ext4|xfs)
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
;;
*)
@@ -3326,6 +3331,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 }')
@@ -3347,9 +3353,12 @@ _check_s_dax()
if [ $exp_s_dax -eq 0 ]; then
(( attributes & 0x00200000 )) && echo "$target has unexpected S_DAX flag"
+ (( attributes & 0x00200000 )) && ret=1
else
(( attributes & 0x00200000 )) || echo "$target doesn't have expected S_DAX flag"
+ (( attributes & 0x00200000 )) || ret=2
fi
+ return $ret
}
_check_xflag()
--
2.18.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] common/rc: not run swapfile test for DAX
2021-04-24 16:15 [PATCH v2] common/rc: not run swapfile test for DAX XiaoLi Feng
@ 2021-04-28 4:07 ` Darrick J. Wong
0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2021-04-28 4:07 UTC (permalink / raw)
To: XiaoLi Feng; +Cc: fstests
On Sun, Apr 25, 2021 at 12:15:23AM +0800, XiaoLi Feng wrote:
> From: Xiaoli Feng <xifeng@redhat.com>
>
> DAX doesn't support swapfile. Without this patch,
> _require_scratch_swapfile always returns fail for fsdax. Now
> change to notrun.
>
> Signed-off-by: Xiaoli Feng <xifeng@redhat.com>
Sorry about my earlier mutterings, I forgot that I'm (still) so far
behind on sending fstests patches upstream that I hadn't actually gotten
to the one that fixes this. Hence my earlier questions about "can't you
just use the existing S_DAX check?" make no sense.
> ---
> common/rc | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index 11ff7635..c3c40f30 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2461,8 +2461,13 @@ _require_scratch_swapfile()
> case "$FSTYP" in
> ext2|ext3|ext4|xfs)
> 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
> ;;
> *)
> @@ -3326,6 +3331,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 }')
>
> @@ -3347,9 +3353,12 @@ _check_s_dax()
>
> if [ $exp_s_dax -eq 0 ]; then
> (( attributes & 0x00200000 )) && echo "$target has unexpected S_DAX flag"
> + (( attributes & 0x00200000 )) && ret=1
> else
> (( attributes & 0x00200000 )) || echo "$target doesn't have expected S_DAX flag"
> + (( attributes & 0x00200000 )) || ret=2
Though I suppose if we want to pick nits here, it's kind of silly to
test this twice:
if (( attributes & 0x00200000 )); then
echo "$target doesn't have expected S_DAX_flag"
return 2
fi
OTOH, that's fairly minor so:
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
--D
> fi
> + return $ret
> }
>
> _check_xflag()
> --
> 2.18.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-28 4:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-24 16:15 [PATCH v2] common/rc: not run swapfile test for DAX XiaoLi Feng
2021-04-28 4:07 ` Darrick J. Wong
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.