From: Johannes Thumshirn <johannes.thumshirn@wdc.com>
To: Eryu Guan <guan@eryu.me>
Cc: fstests@vger.kernel.org, linux-btrfs@vger.kernel.org,
Naohiro Aota <naohiro.aota@wdc.com>
Subject: [PATCH 1/4] fstests: add missing checks of fallocate feature
Date: Fri, 23 Apr 2021 20:26:31 +0900 [thread overview]
Message-ID: <20210423112634.6067-2-johannes.thumshirn@wdc.com> (raw)
In-Reply-To: <20210423112634.6067-1-johannes.thumshirn@wdc.com>
From: Naohiro Aota <naohiro.aota@wdc.com>
Many test cases use xfs_io -c 'falloc' but forgot to add
_require_xfs_io_command "falloc". This will fail the test case if we run
the test case on a file system without fallcoate support e.g. F2FS.
While we believe that normal fallocate(mode = 0) is always supported on
Linux, it is not true. Fallocate is disabled in several implementations of
zoned block support for file systems because the pre-allocated region will
break the sequential writing rule.
Currently, several test cases unconditionally call fallocate(). Let's add
_require_xfs_io_command "falloc" to properly check the feature is supported
by a testing file system.
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
---
tests/btrfs/013 | 1 +
tests/btrfs/016 | 1 +
tests/btrfs/025 | 1 +
tests/btrfs/034 | 1 +
tests/btrfs/037 | 1 +
tests/btrfs/046 | 1 +
tests/btrfs/107 | 1 +
tests/ext4/001 | 1 +
tests/f2fs/001 | 1 +
tests/generic/456 | 1 +
tests/xfs/042 | 1 +
tests/xfs/114 | 1 +
tests/xfs/118 | 1 +
tests/xfs/331 | 1 +
tests/xfs/341 | 1 +
tests/xfs/342 | 1 +
tests/xfs/423 | 1 +
17 files changed, 17 insertions(+)
diff --git a/tests/btrfs/013 b/tests/btrfs/013
index 9252c82a2076..5e03ed4a4b4b 100755
--- a/tests/btrfs/013
+++ b/tests/btrfs/013
@@ -33,6 +33,7 @@ trap "_cleanup ; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs btrfs
_require_scratch
+_require_xfs_io_command "falloc"
rm -f $seqres.full
diff --git a/tests/btrfs/016 b/tests/btrfs/016
index 8fd237cbdb64..015ec17f93d6 100755
--- a/tests/btrfs/016
+++ b/tests/btrfs/016
@@ -35,6 +35,7 @@ _supported_fs btrfs
_require_test
_require_scratch
_require_fssum
+_require_xfs_io_command "falloc"
_scratch_mkfs > /dev/null 2>&1
diff --git a/tests/btrfs/025 b/tests/btrfs/025
index 42cd7cefe825..5c8140552bfb 100755
--- a/tests/btrfs/025
+++ b/tests/btrfs/025
@@ -31,6 +31,7 @@ _cleanup()
# real QA test starts here
_supported_fs btrfs
_require_scratch
+_require_xfs_io_command "falloc"
rm -f $seqres.full
diff --git a/tests/btrfs/034 b/tests/btrfs/034
index bc7a4aae3886..07c84c347d3b 100755
--- a/tests/btrfs/034
+++ b/tests/btrfs/034
@@ -28,6 +28,7 @@ _cleanup()
# real QA test starts here
_supported_fs btrfs
_require_scratch
+_require_xfs_io_command "falloc"
rm -f $seqres.full
diff --git a/tests/btrfs/037 b/tests/btrfs/037
index 1cfaf5be58c8..9ef199a93413 100755
--- a/tests/btrfs/037
+++ b/tests/btrfs/037
@@ -35,6 +35,7 @@ _cleanup()
# real QA test starts here
_supported_fs btrfs
_require_scratch
+_require_xfs_io_command "falloc"
rm -f $seqres.full
diff --git a/tests/btrfs/046 b/tests/btrfs/046
index 882db8eacc4e..a1d82e1cdd54 100755
--- a/tests/btrfs/046
+++ b/tests/btrfs/046
@@ -37,6 +37,7 @@ _cleanup()
_supported_fs btrfs
_require_test
_require_scratch
+_require_xfs_io_command "falloc"
_require_fssum
rm -f $seqres.full
diff --git a/tests/btrfs/107 b/tests/btrfs/107
index e57c9dead499..80db5ab9822d 100755
--- a/tests/btrfs/107
+++ b/tests/btrfs/107
@@ -34,6 +34,7 @@ rm -f $seqres.full
_supported_fs btrfs
_require_scratch
+_require_xfs_io_command "falloc"
# Use 64K file size to match any sectorsize
# And with a unaligned tailing range to ensure it will be at least 2 pages
diff --git a/tests/ext4/001 b/tests/ext4/001
index bbb74f1ea5bc..9650303d15b5 100755
--- a/tests/ext4/001
+++ b/tests/ext4/001
@@ -29,6 +29,7 @@ trap "_cleanup ; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs ext4
+_require_xfs_io_command "falloc"
_require_xfs_io_command "fzero"
_require_test
diff --git a/tests/f2fs/001 b/tests/f2fs/001
index 98bd2682d60f..0753a09b5576 100755
--- a/tests/f2fs/001
+++ b/tests/f2fs/001
@@ -36,6 +36,7 @@ _cleanup()
_supported_fs f2fs
_require_scratch
+_require_xfs_io_command "falloc"
testfile=$SCRATCH_MNT/testfile
dummyfile=$SCRATCH_MNT/dummyfile
diff --git a/tests/generic/456 b/tests/generic/456
index 2f9df5e5edc4..65667d449dd3 100755
--- a/tests/generic/456
+++ b/tests/generic/456
@@ -38,6 +38,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs generic
_require_scratch
+_require_xfs_io_command "falloc"
_require_dm_target flakey
_require_xfs_io_command "falloc" "-k"
_require_xfs_io_command "fzero"
diff --git a/tests/xfs/042 b/tests/xfs/042
index b55d642c5170..fcd5181cf590 100755
--- a/tests/xfs/042
+++ b/tests/xfs/042
@@ -31,6 +31,7 @@ trap "_cleanup ; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs xfs
+_require_xfs_io_command "falloc"
_require_scratch
diff --git a/tests/xfs/114 b/tests/xfs/114
index b936452461c6..3f5575a61dfb 100755
--- a/tests/xfs/114
+++ b/tests/xfs/114
@@ -32,6 +32,7 @@ _cleanup()
_supported_fs xfs
_require_test_program "punch-alternating"
_require_xfs_scratch_rmapbt
+_require_xfs_io_command "falloc"
_require_xfs_io_command "fcollapse"
_require_xfs_io_command "finsert"
diff --git a/tests/xfs/118 b/tests/xfs/118
index 5e23617b39dd..9a431821aa62 100755
--- a/tests/xfs/118
+++ b/tests/xfs/118
@@ -41,6 +41,7 @@ _supported_fs xfs
_require_scratch
_require_command "$XFS_FSR_PROG" "xfs_fsr"
+_require_xfs_io_command "falloc"
# 50M
_scratch_mkfs_sized $((50 * 1024 * 1024)) >> $seqres.full 2>&1
diff --git a/tests/xfs/331 b/tests/xfs/331
index 4ea54e2a534b..8e92b2e36a8d 100755
--- a/tests/xfs/331
+++ b/tests/xfs/331
@@ -33,6 +33,7 @@ _require_xfs_scratch_rmapbt
_require_scratch_reflink
_require_xfs_io_command "falloc"
_require_test_program "punch-alternating"
+_require_xfs_io_command "falloc"
rm -f "$seqres.full"
diff --git a/tests/xfs/341 b/tests/xfs/341
index e1fbe588d9eb..8bf05087e1ba 100755
--- a/tests/xfs/341
+++ b/tests/xfs/341
@@ -31,6 +31,7 @@ _require_realtime
_require_xfs_scratch_rmapbt
_require_test_program "punch-alternating"
_disable_dmesg_check
+_require_xfs_io_command "falloc"
rm -f "$seqres.full"
diff --git a/tests/xfs/342 b/tests/xfs/342
index 2be5f7698f01..4db222d65fb2 100755
--- a/tests/xfs/342
+++ b/tests/xfs/342
@@ -30,6 +30,7 @@ _supported_fs xfs
_require_realtime
_require_xfs_scratch_rmapbt
_require_test_program "punch-alternating"
+_require_xfs_io_command "falloc"
rm -f "$seqres.full"
diff --git a/tests/xfs/423 b/tests/xfs/423
index 8d51a9a60585..183c9cf5eded 100755
--- a/tests/xfs/423
+++ b/tests/xfs/423
@@ -35,6 +35,7 @@ _cleanup()
_supported_fs xfs
_require_test_program "punch-alternating"
_require_xfs_io_command "scrub"
+_require_xfs_io_command "falloc"
_require_scratch
echo "Format and populate"
--
2.30.0
next prev parent reply other threads:[~2021-04-23 11:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-23 11:26 [PATCH 0/4] fstests: first few support patches for zoned btrfs Johannes Thumshirn
2021-04-23 11:26 ` Johannes Thumshirn [this message]
2021-04-23 11:26 ` [PATCH 2/4] btrfs: require discard functionality from scratch device Johannes Thumshirn
2021-04-25 8:26 ` Eryu Guan
2021-04-23 11:26 ` [PATCH 3/4] common/rc: introduce zone check commands Johannes Thumshirn
2021-04-23 11:26 ` [PATCH 4/4] btrfs: add test for zone auto reclaim Johannes Thumshirn
2021-04-25 8:33 ` Eryu Guan
2021-04-26 6:08 ` Johannes Thumshirn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210423112634.6067-2-johannes.thumshirn@wdc.com \
--to=johannes.thumshirn@wdc.com \
--cc=fstests@vger.kernel.org \
--cc=guan@eryu.me \
--cc=linux-btrfs@vger.kernel.org \
--cc=naohiro.aota@wdc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).