From patchwork Wed Apr 28 04:09:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12227951 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E875AC433ED for ; Wed, 28 Apr 2021 04:09:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C8CAC613F1 for ; Wed, 28 Apr 2021 04:09:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229992AbhD1EKU (ORCPT ); Wed, 28 Apr 2021 00:10:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:54484 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234376AbhD1EKU (ORCPT ); Wed, 28 Apr 2021 00:10:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C3727613E5; Wed, 28 Apr 2021 04:09:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619582975; bh=6hIuyo85Z4nQzhNB8HhnkzYlLYItwSiFRkjbw0/0LB0=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=nv/RbupAhxX4UFPnd5jeTgc2h2bPp7Ub6dCxN2+uvdDGVyIArWe7K49gUi34ykx1r 2chBf0tiwTzLaRPvcOJpyOuL1lMxYGdl8ie9FKZWLGNVKDVEW8WfpdGAzwHYYo0DjU SIPmeFFl1mQK3IFLmO4I5vQgvutVRDB62oHvEZCo50rHfr+3WooiSFaWAR/eZGKDRD zZXGg1s+D6e7N9Y/77fYYoMkqApuInwYeDPuIKElyA1ejwH+mfJ0HMppbU3gn3So6P 4Fh1nH72Y1OTJeS4UTS1O216xfTv7Az+0HYftkpxS8rfr1TGMFF87x12eK3aEpN9Z/ u+VdLxKedJPIw== Subject: [PATCH 1/3] xfs/419: remove irrelevant swapfile test From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me Date: Tue, 27 Apr 2021 21:09:35 -0700 Message-ID: <161958297507.3452499.6111068461177037465.stgit@magnolia> In-Reply-To: <161958296906.3452499.12678290296714187590.stgit@magnolia> References: <161958296906.3452499.12678290296714187590.stgit@magnolia> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Since the advent of iomap_swapfile_activate in XFS, we actually /do/ support having swap files on the realtime device. Remove this test. Signed-off-by: Darrick J. Wong Reviewed-by: Brian Foster --- tests/xfs/419 | 58 ----------------------------------------------------- tests/xfs/419.out | 5 ----- tests/xfs/group | 1 - 3 files changed, 64 deletions(-) delete mode 100755 tests/xfs/419 delete mode 100644 tests/xfs/419.out diff --git a/tests/xfs/419 b/tests/xfs/419 deleted file mode 100755 index fc7174bd..00000000 --- a/tests/xfs/419 +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (c) 2017 Oracle, Inc. All Rights Reserved. -# -# FS QA Test No. 419 -# -# Check that we can't swapon a realtime file. -# -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! -trap "_cleanup; exit \$status" 0 1 2 3 7 15 - -_cleanup() -{ - cd / - rm -rf $tmp.* -} - -# get standard environment, filters and checks -. ./common/rc -. ./common/filter - -# real QA test starts here -_supported_fs xfs -_require_realtime -_require_scratch_swapfile - -echo "Format and mount" -_scratch_mkfs > $seqres.full 2>&1 -_scratch_mount >> $seqres.full 2>&1 - -testdir=$SCRATCH_MNT/test-$seq -mkdir $testdir - -blocks=160 -blksz=65536 - -echo "Initialize file" -echo >> $seqres.full -$XFS_IO_PROG -c "open -f -R $testdir/dummy" $testdir >> $seqres.full -echo moo >> $testdir/dummy -$XFS_IO_PROG -c "open -f -R $testdir/file1" $testdir >> $seqres.full -_pwrite_byte 0x61 0 $((blocks * blksz)) $testdir/file1 >> $seqres.full -$MKSWAP_PROG -U 27376b42-ff65-42ca-919f-6c9b62292a5c $testdir/file1 >> $seqres.full - -echo "Try to swapon" -swapon $testdir/file1 2>&1 | _filter_scratch - -swapoff $testdir/file1 >> $seqres.full 2>&1 - -# success, all done -status=0 -exit diff --git a/tests/xfs/419.out b/tests/xfs/419.out deleted file mode 100644 index 83b7dd45..00000000 --- a/tests/xfs/419.out +++ /dev/null @@ -1,5 +0,0 @@ -QA output created by 419 -Format and mount -Initialize file -Try to swapon -swapon: SCRATCH_MNT/test-419/file1: swapon failed: Invalid argument diff --git a/tests/xfs/group b/tests/xfs/group index 76e31167..549209a4 100644 --- a/tests/xfs/group +++ b/tests/xfs/group @@ -407,7 +407,6 @@ 416 dangerous_fuzzers dangerous_scrub dangerous_repair 417 dangerous_fuzzers dangerous_scrub dangerous_online_repair 418 dangerous_fuzzers dangerous_scrub dangerous_repair -419 auto quick swap realtime 420 auto quick clone punch seek 421 auto quick clone punch seek 422 dangerous_scrub dangerous_online_repair From patchwork Wed Apr 28 04:09:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12227953 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61ECEC433B4 for ; Wed, 28 Apr 2021 04:09:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4464C613F4 for ; Wed, 28 Apr 2021 04:09:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232098AbhD1EK0 (ORCPT ); Wed, 28 Apr 2021 00:10:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:54552 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229868AbhD1EK0 (ORCPT ); Wed, 28 Apr 2021 00:10:26 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id ECA4B60720; Wed, 28 Apr 2021 04:09:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619582982; bh=m9gNDeIsZxipvutlmN/mcY+9u2GLy0O4705DWNCUJ3A=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=s4wbkpYXhuKFjLBDLY6eFNmZI+BPGlSlT3r3Q/DxXRBXldMQ46z9SQamsemY72hoH 3x6iQ5alJKttmoSlAEgJe2ePOq2C22Lg5+VrRg09NziV26QHt8CzCZ7nlVlNkFXIl0 q1mm5F/tYf23cJactuWg3vQZYLxJQmkw/GClHNlYWpah1aWS+DhUX89vLG7bp/G0lu IoUKi8t7Kur5nR/Fy0IMyq11WwjOp0kNaHLXXFYAPA6tGO1FBVzDFcalfKziwIkrgr /CERnwXFAcQEMS+87VPj0g/5Ew3qzM0KcoCa9mobkllyg6Xi0yNHGlfJNGxuuKrf2T bUHtCFSwFuBkw== Subject: [PATCH 2/3] rc: check dax mode in _require_scratch_swapfile From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me Date: Tue, 27 Apr 2021 21:09:41 -0700 Message-ID: <161958298115.3452499.907986597475080875.stgit@magnolia> In-Reply-To: <161958296906.3452499.12678290296714187590.stgit@magnolia> References: <161958296906.3452499.12678290296714187590.stgit@magnolia> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong It turns out that the mm refuses to swapon() files that don't have a a_ops->readpage function, because it wants to be able to read the swap header. S_DAX files don't have a readpage function (though oddly both ext4 and xfs link to a swapfile activation function in their aops) so they fail. The recent commit 725feeff changed this from a _notrun to _fail on xfs and ext4, so amend this not to fail on pmem test setups. Fixes: 725feeff ("common/rc: swapon should not fail for given FS in _require_scratch_swapfile()") Signed-off-by: Darrick J. Wong Reviewed-by: Brian Foster --- common/rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/rc b/common/rc index 6752c92d..429cc24d 100644 --- a/common/rc +++ b/common/rc @@ -2490,6 +2490,10 @@ _require_scratch_swapfile() # Minimum size for mkswap is 10 pages _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) + # swapfiles cannot use cpu direct access mode (STATX_ATTR_DAX) for now + statx_attr="$($XFS_IO_PROG -c 'statx -r' $SCRATCH_MNT/swap 2>/dev/null | grep 'stat.attributes = ' | awk '{print $3}')" + test "$((statx_attr & 0x200000))" -gt 0 && _notrun "swapfiles not supported on DAX" + # ext* and xfs have supported all variants of swap files since their # introduction, so swapon should not fail. case "$FSTYP" in From patchwork Wed Apr 28 04:09:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12227955 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C596C433B4 for ; Wed, 28 Apr 2021 04:09:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 45974613F1 for ; Wed, 28 Apr 2021 04:09:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234262AbhD1EKc (ORCPT ); Wed, 28 Apr 2021 00:10:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:54632 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229451AbhD1EKc (ORCPT ); Wed, 28 Apr 2021 00:10:32 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E2203613ED; Wed, 28 Apr 2021 04:09:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619582988; bh=HcqN95A7dB1ENH3z4osEJ4JF9H4bKLGHQ0WuWcN+4Nw=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=X9+YljI+GpS5r/IBaWkM/D7Z3J81ap5559VdcyLGqpkFjwB9sIdmAe8qpbZM5G+BA rwLXNKArXjXzve9ITOFXJzKD6+l9/N8DTcXKvMPOirpndF0rlLpCkmAKjNx4P4XJfM 3NIyAZG2sOG/DQa7swaK6mPNM2FTV4H/CLaLWFSaelOQDDYhq2tBcmam0954lCkBd4 O0Z4N6xOVcR0cKU9Up4MDUjN8RGBIJBxA/JEhjVg4hs3N1AIsG0xSXsFnGaR1eyt3N SAvqOkk/TdymOxmFue6wrakBsMMCy7gUVOORaDyVJIHBYokrAR8Ypnc0K0LN9W6QdS puBBOWJd/EW3Q== Subject: [PATCH 3/3] common/rc: relax xfs swapfile support checks From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me Date: Tue, 27 Apr 2021 21:09:47 -0700 Message-ID: <161958298729.3452499.11374046947109958849.stgit@magnolia> In-Reply-To: <161958296906.3452499.12678290296714187590.stgit@magnolia> References: <161958296906.3452499.12678290296714187590.stgit@magnolia> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong In commit 725feeff, I forgot that xfs has *not* always supported all swap file configurations -- the bmap swapfile activation prior to the introduction of iomap_swapfile_activate did not permit the use of unwritten extents in the swap file. Therefore, kick xfs out of the always-supported list. Fixes: 725feeff ("common/rc: swapon should not fail for given FS in _require_scratch_swapfile()") Signed-off-by: Darrick J. Wong Reviewed-by: Brian Foster --- common/rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/rc b/common/rc index 429cc24d..7882355a 100644 --- a/common/rc +++ b/common/rc @@ -2494,10 +2494,10 @@ _require_scratch_swapfile() statx_attr="$($XFS_IO_PROG -c 'statx -r' $SCRATCH_MNT/swap 2>/dev/null | grep 'stat.attributes = ' | awk '{print $3}')" test "$((statx_attr & 0x200000))" -gt 0 && _notrun "swapfiles not supported on DAX" - # ext* and xfs have supported all variants of swap files since their + # ext* has supported all variants of swap files since their # introduction, so swapon should not fail. case "$FSTYP" in - ext2|ext3|ext4|xfs) + ext2|ext3|ext4) if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then _scratch_unmount _fail "swapon failed for $FSTYP"