All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Thumshirn <johannes.thumshirn@wdc.com>
To: linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org
Cc: Naohiro Aota <naohiro.aota@wdc.com>
Subject: [PATCH 1/2] fstests: add missing checks of fallocate feature
Date: Tue,  2 Mar 2021 18:13:04 +0900	[thread overview]
Message-ID: <20210302091305.27828-2-johannes.thumshirn@wdc.com> (raw)
In-Reply-To: <20210302091305.27828-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 ZZ

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


  reply	other threads:[~2021-03-03  2:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02  9:13 [PATCH 0/2] fstests: two preperation patches for zoned device support Johannes Thumshirn
2021-03-02  9:13 ` Johannes Thumshirn [this message]
2021-03-02 19:00   ` [PATCH 1/2] fstests: add missing checks of fallocate feature Josef Bacik
2021-03-03  6:01   ` Naohiro Aota
2021-03-03  8:04     ` Johannes Thumshirn
2021-03-02  9:13 ` [PATCH 2/2] btrfs: require discard functionality from scratch device Johannes Thumshirn
2021-03-02 19:01   ` Josef Bacik
2021-03-03  5:58 ` [PATCH 0/2] fstests: two preperation patches for zoned device support Naohiro Aota
2021-03-03  8:04   ` 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=20210302091305.27828-2-johannes.thumshirn@wdc.com \
    --to=johannes.thumshirn@wdc.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@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 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.