public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/3] fstests: basic smoke test on zoned loop device
@ 2025-10-16 15:20 Johannes Thumshirn
  2025-10-16 15:20 ` [PATCH v5 1/3] common/zoned: add _require_zloop Johannes Thumshirn
                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-16 15:20 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong,
	Johannes Thumshirn

Add a very basic smoke test on a zoned loopback device to check that noone is
accidentially breaking support for zoned block devices in filesystems that
support these.

Currently this includes btrfs, f2fs and xfs.

Changes to v4:
- Find next free id in _create_zloop
- Add _destroy_zloop
- Fix typo in _create_zloop documentation
- Redirect mkfs error to seqres.full

Changes to v3:
- Don't mkdir zloop_base in test but in _create_zloop
- Add Christoph's Reviewed-by in 1/3

Changes to v2:
- Add Carlos' Reviewed-bys
- Add a _find_last_zloop() helper

Johannes Thumshirn (3):
  common/zoned: add _require_zloop
  common/zoned: add helpers for creation and teardown of zloop devices
  generic: basic smoke for filesystems on zoned block devices

 common/zoned          | 60 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/772     | 43 +++++++++++++++++++++++++++++++
 tests/generic/772.out |  2 ++
 3 files changed, 105 insertions(+)
 create mode 100755 tests/generic/772
 create mode 100644 tests/generic/772.out

-- 
2.51.0


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH v5 1/3] common/zoned: add _require_zloop
  2025-10-16 15:20 [PATCH v5 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn
@ 2025-10-16 15:20 ` Johannes Thumshirn
  2025-10-16 23:49   ` Naohiro Aota
  2025-10-16 15:20 ` [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices Johannes Thumshirn
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
  2 siblings, 1 reply; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-16 15:20 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong,
	Johannes Thumshirn, Carlos Maiolino

Add _require_zloop() function used by tests that require support for the
zoned loopback block device.

Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 common/zoned | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/common/zoned b/common/zoned
index eed0082a..41697b08 100644
--- a/common/zoned
+++ b/common/zoned
@@ -37,3 +37,11 @@ _zone_capacity() {
 	       grep -Po "cap 0x[[:xdigit:]]+" | cut -d ' ' -f 2)
     echo $((size << 9))
 }
+
+_require_zloop()
+{
+    modprobe zloop >/dev/null 2>&1
+    if [ ! -c "/dev/zloop-control" ]; then
+	    _notrun "This test requires zoned loopback device support"
+    fi
+}
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices
  2025-10-16 15:20 [PATCH v5 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn
  2025-10-16 15:20 ` [PATCH v5 1/3] common/zoned: add _require_zloop Johannes Thumshirn
@ 2025-10-16 15:20 ` Johannes Thumshirn
  2025-10-16 15:48   ` Darrick J. Wong
  2025-10-17 18:38   ` Zorro Lang
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
  2 siblings, 2 replies; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-16 15:20 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong,
	Johannes Thumshirn

Add _create_zloop, _destroy_zloop and _find_next_zloop helper functions
for creating destroying and finding the next free zloop device.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 common/zoned | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/common/zoned b/common/zoned
index 41697b08..313e755e 100644
--- a/common/zoned
+++ b/common/zoned
@@ -45,3 +45,55 @@ _require_zloop()
 	    _notrun "This test requires zoned loopback device support"
     fi
 }
+
+_find_next_zloop()
+{
+    id=0
+
+    while true; do
+        if [[ ! -b "/dev/zloop$id" ]]; then
+            break
+        fi
+        id=$((id + 1))
+    done
+
+    echo "$id"
+}
+
+# Create a zloop device
+# usage: _create_zloop <base_dir> <zone_size> <nr_conv_zones>
+_create_zloop()
+{
+    local id="$(_find_next_zloop)"
+
+    if [ -n "$1" ]; then
+        local zloop_base="$1"
+    else
+	local zloop_base="/var/local/zloop"
+    fi
+
+    if [ -n "$2" ]; then
+        local zone_size=",zone_size_mb=$2"
+    fi
+
+    if [ -n "$3" ]; then
+        local conv_zones=",conv_zones=$3"
+    fi
+
+    mkdir -p "$zloop_base/$id"
+
+    local zloop_args="add id=$id,base_dir=$zloop_base$zone_size$conv_zones"
+
+    echo "$zloop_args" > /dev/zloop-control
+
+    echo "/dev/zloop$id"
+}
+
+_destroy_zloop() {
+	local zloop="$1"
+
+	test -b "$zloop" || return
+	local id=$(echo $zloop | grep -oE '[0-9]+$')
+
+	echo "remove id=$id" > /dev/zloop-control
+}
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-16 15:20 [PATCH v5 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn
  2025-10-16 15:20 ` [PATCH v5 1/3] common/zoned: add _require_zloop Johannes Thumshirn
  2025-10-16 15:20 ` [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices Johannes Thumshirn
@ 2025-10-16 15:20 ` Johannes Thumshirn
  2025-10-16 15:49   ` Darrick J. Wong
                     ` (4 more replies)
  2 siblings, 5 replies; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-16 15:20 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong,
	Johannes Thumshirn, Carlos Maiolino

Add a basic smoke test for filesystems that support running on zoned
block devices.

It creates a zloop device with 2 conventional and 62 sequential zones,
mounts it and then runs fsx on it.

Currently this tests supports BTRFS, F2FS and XFS.

Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 tests/generic/772     | 43 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/772.out |  2 ++
 2 files changed, 45 insertions(+)
 create mode 100755 tests/generic/772
 create mode 100644 tests/generic/772.out

diff --git a/tests/generic/772 b/tests/generic/772
new file mode 100755
index 00000000..10d2556b
--- /dev/null
+++ b/tests/generic/772
@@ -0,0 +1,43 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2025 Wesgtern Digital Corporation.  All Rights Reserved.
+#
+# FS QA Test 772
+#
+# Smoke test for FSes with ZBD support on zloop
+#
+. ./common/preamble
+. ./common/zoned
+
+_begin_fstest auto zone quick
+
+_cleanup()
+{
+	_destroy_zloop $zloop
+}
+
+# Modify as appropriate.
+_require_scratch
+_require_scratch_size $((16 * 1024 * 1024)) #kB
+_require_zloop
+
+_scratch_mkfs > /dev/null 2>&1
+_scratch_mount
+
+mnt="$SCRATCH_MNT/mnt"
+zloopdir="$SCRATCH_MNT/zloop"
+
+mkdir -p $mnt
+zloop=$(_create_zloop $zloopdir 256 2)
+
+_try_mkfs_dev $zloop >> $seqres.full 2>&1 ||\
+	_notrun "cannot mkfs zoned filesystem"
+_mount $zloop $mnt
+
+$FSX_PROG -q -N 20000 $FSX_AVOID "$mnt/fsx" >> $seqres.full
+
+umount $mnt
+
+echo Silence is golden
+# success, all done
+_exit 0
diff --git a/tests/generic/772.out b/tests/generic/772.out
new file mode 100644
index 00000000..98c13968
--- /dev/null
+++ b/tests/generic/772.out
@@ -0,0 +1,2 @@
+QA output created by 772
+Silence is golden
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices
  2025-10-16 15:20 ` [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices Johannes Thumshirn
@ 2025-10-16 15:48   ` Darrick J. Wong
  2025-10-16 15:50     ` Johannes Thumshirn
  2025-10-17 18:38   ` Zorro Lang
  1 sibling, 1 reply; 27+ messages in thread
From: Darrick J. Wong @ 2025-10-16 15:48 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Zorro Lang, Christoph Hellwig, Naohiro Aota, linux-btrfs,
	Hans Holmberg, fstests, linux-xfs, Carlos Maiolino

On Thu, Oct 16, 2025 at 05:20:31PM +0200, Johannes Thumshirn wrote:
> Add _create_zloop, _destroy_zloop and _find_next_zloop helper functions
> for creating destroying and finding the next free zloop device.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> ---
>  common/zoned | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
> 
> diff --git a/common/zoned b/common/zoned
> index 41697b08..313e755e 100644
> --- a/common/zoned
> +++ b/common/zoned
> @@ -45,3 +45,55 @@ _require_zloop()
>  	    _notrun "This test requires zoned loopback device support"
>      fi
>  }
> +
> +_find_next_zloop()
> +{
> +    id=0
> +
> +    while true; do
> +        if [[ ! -b "/dev/zloop$id" ]]; then
> +            break
> +        fi
> +        id=$((id + 1))
> +    done
> +
> +    echo "$id"
> +}
> +
> +# Create a zloop device
> +# usage: _create_zloop <base_dir> <zone_size> <nr_conv_zones>
> +_create_zloop()
> +{
> +    local id="$(_find_next_zloop)"
> +
> +    if [ -n "$1" ]; then
> +        local zloop_base="$1"
> +    else
> +	local zloop_base="/var/local/zloop"

Inconsistent indenting (tab here, everywhere else in this function uses
four spaces)

> +    fi
> +
> +    if [ -n "$2" ]; then
> +        local zone_size=",zone_size_mb=$2"
> +    fi
> +
> +    if [ -n "$3" ]; then
> +        local conv_zones=",conv_zones=$3"
> +    fi
> +
> +    mkdir -p "$zloop_base/$id"
> +
> +    local zloop_args="add id=$id,base_dir=$zloop_base$zone_size$conv_zones"
> +
> +    echo "$zloop_args" > /dev/zloop-control
> +
> +    echo "/dev/zloop$id"

Same question as last time: shouldn't we only echo this if the
zloop-control write succeeds?

--D

> +}
> +
> +_destroy_zloop() {
> +	local zloop="$1"
> +
> +	test -b "$zloop" || return
> +	local id=$(echo $zloop | grep -oE '[0-9]+$')
> +
> +	echo "remove id=$id" > /dev/zloop-control
> +}
> -- 
> 2.51.0
> 
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
@ 2025-10-16 15:49   ` Darrick J. Wong
  2025-10-16 23:48   ` Naohiro Aota
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 27+ messages in thread
From: Darrick J. Wong @ 2025-10-16 15:49 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Zorro Lang, Christoph Hellwig, Naohiro Aota, linux-btrfs,
	Hans Holmberg, fstests, linux-xfs, Carlos Maiolino,
	Carlos Maiolino

On Thu, Oct 16, 2025 at 05:20:32PM +0200, Johannes Thumshirn wrote:
> Add a basic smoke test for filesystems that support running on zoned
> block devices.
> 
> It creates a zloop device with 2 conventional and 62 sequential zones,
> mounts it and then runs fsx on it.
> 
> Currently this tests supports BTRFS, F2FS and XFS.
> 
> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Looks good to me,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>

--D

> ---
>  tests/generic/772     | 43 +++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/772.out |  2 ++
>  2 files changed, 45 insertions(+)
>  create mode 100755 tests/generic/772
>  create mode 100644 tests/generic/772.out
> 
> diff --git a/tests/generic/772 b/tests/generic/772
> new file mode 100755
> index 00000000..10d2556b
> --- /dev/null
> +++ b/tests/generic/772
> @@ -0,0 +1,43 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2025 Wesgtern Digital Corporation.  All Rights Reserved.
> +#
> +# FS QA Test 772
> +#
> +# Smoke test for FSes with ZBD support on zloop
> +#
> +. ./common/preamble
> +. ./common/zoned
> +
> +_begin_fstest auto zone quick
> +
> +_cleanup()
> +{
> +	_destroy_zloop $zloop
> +}
> +
> +# Modify as appropriate.
> +_require_scratch
> +_require_scratch_size $((16 * 1024 * 1024)) #kB
> +_require_zloop
> +
> +_scratch_mkfs > /dev/null 2>&1
> +_scratch_mount
> +
> +mnt="$SCRATCH_MNT/mnt"
> +zloopdir="$SCRATCH_MNT/zloop"
> +
> +mkdir -p $mnt
> +zloop=$(_create_zloop $zloopdir 256 2)
> +
> +_try_mkfs_dev $zloop >> $seqres.full 2>&1 ||\
> +	_notrun "cannot mkfs zoned filesystem"
> +_mount $zloop $mnt
> +
> +$FSX_PROG -q -N 20000 $FSX_AVOID "$mnt/fsx" >> $seqres.full
> +
> +umount $mnt
> +
> +echo Silence is golden
> +# success, all done
> +_exit 0
> diff --git a/tests/generic/772.out b/tests/generic/772.out
> new file mode 100644
> index 00000000..98c13968
> --- /dev/null
> +++ b/tests/generic/772.out
> @@ -0,0 +1,2 @@
> +QA output created by 772
> +Silence is golden
> -- 
> 2.51.0
> 
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices
  2025-10-16 15:48   ` Darrick J. Wong
@ 2025-10-16 15:50     ` Johannes Thumshirn
  2025-10-17  0:44       ` Naohiro Aota
  0 siblings, 1 reply; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-16 15:50 UTC (permalink / raw)
  To: Darrick J. Wong
  Cc: Zorro Lang, hch, Naohiro Aota, linux-btrfs@vger.kernel.org,
	Hans Holmberg, fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino

On 10/16/25 5:48 PM, Darrick J. Wong wrote:
> Same question as last time: shouldn't we only echo this if the
> zloop-control write succeeds?

Damn, I thought I've did that.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
  2025-10-16 15:49   ` Darrick J. Wong
@ 2025-10-16 23:48   ` Naohiro Aota
  2025-10-16 23:54   ` Anand Jain
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 27+ messages in thread
From: Naohiro Aota @ 2025-10-16 23:48 UTC (permalink / raw)
  To: Johannes Thumshirn, Zorro Lang
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On Fri Oct 17, 2025 at 12:20 AM JST, Johannes Thumshirn wrote:
> Add a basic smoke test for filesystems that support running on zoned
> block devices.
>
> It creates a zloop device with 2 conventional and 62 sequential zones,
> mounts it and then runs fsx on it.
>
> Currently this tests supports BTRFS, F2FS and XFS.
>
> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Looks good,

Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 1/3] common/zoned: add _require_zloop
  2025-10-16 15:20 ` [PATCH v5 1/3] common/zoned: add _require_zloop Johannes Thumshirn
@ 2025-10-16 23:49   ` Naohiro Aota
  0 siblings, 0 replies; 27+ messages in thread
From: Naohiro Aota @ 2025-10-16 23:49 UTC (permalink / raw)
  To: Johannes Thumshirn, Zorro Lang
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On Fri Oct 17, 2025 at 12:20 AM JST, Johannes Thumshirn wrote:
> Add _require_zloop() function used by tests that require support for the
> zoned loopback block device.
>
> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Looks good,

Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
  2025-10-16 15:49   ` Darrick J. Wong
  2025-10-16 23:48   ` Naohiro Aota
@ 2025-10-16 23:54   ` Anand Jain
  2025-10-17  4:17   ` Christoph Hellwig
  2025-10-17 18:56   ` Zorro Lang
  4 siblings, 0 replies; 27+ messages in thread
From: Anand Jain @ 2025-10-16 23:54 UTC (permalink / raw)
  To: Johannes Thumshirn, Zorro Lang
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong,
	Carlos Maiolino

looks good.

Reviewed-by: Anand Jain <asj@kernel.org>


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices
  2025-10-16 15:50     ` Johannes Thumshirn
@ 2025-10-17  0:44       ` Naohiro Aota
  2025-10-17 16:35         ` Darrick J. Wong
  0 siblings, 1 reply; 27+ messages in thread
From: Naohiro Aota @ 2025-10-17  0:44 UTC (permalink / raw)
  To: Johannes Thumshirn, Darrick J. Wong
  Cc: Zorro Lang, hch, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino

On Fri Oct 17, 2025 at 12:50 AM JST, Johannes Thumshirn wrote:
> On 10/16/25 5:48 PM, Darrick J. Wong wrote:
>> Same question as last time: shouldn't we only echo this if the
>> zloop-control write succeeds?
>
> Damn, I thought I've did that.

Maybe, it's good to call _fail as _create_loop_device() do.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
                     ` (2 preceding siblings ...)
  2025-10-16 23:54   ` Anand Jain
@ 2025-10-17  4:17   ` Christoph Hellwig
  2025-10-17 18:56   ` Zorro Lang
  4 siblings, 0 replies; 27+ messages in thread
From: Christoph Hellwig @ 2025-10-17  4:17 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Zorro Lang, Christoph Hellwig, Naohiro Aota, linux-btrfs,
	Hans Holmberg, fstests, linux-xfs, Carlos Maiolino,
	Darrick J . Wong, Carlos Maiolino

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices
  2025-10-17  0:44       ` Naohiro Aota
@ 2025-10-17 16:35         ` Darrick J. Wong
  0 siblings, 0 replies; 27+ messages in thread
From: Darrick J. Wong @ 2025-10-17 16:35 UTC (permalink / raw)
  To: Naohiro Aota
  Cc: Johannes Thumshirn, Zorro Lang, hch, linux-btrfs@vger.kernel.org,
	Hans Holmberg, fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino

On Fri, Oct 17, 2025 at 12:44:35AM +0000, Naohiro Aota wrote:
> On Fri Oct 17, 2025 at 12:50 AM JST, Johannes Thumshirn wrote:
> > On 10/16/25 5:48 PM, Darrick J. Wong wrote:
> >> Same question as last time: shouldn't we only echo this if the
> >> zloop-control write succeeds?
> >
> > Damn, I thought I've did that.
> 
> Maybe, it's good to call _fail as _create_loop_device() do.

Does that actually work?  _create_loop_dev is often called in a subshell
to capture the device name, so the exit 1 in _fail will exit the
subshell, which won't exit the test.  Right?

zdev=$(_create_zloop_device) || _fail "could not create zloop"

Though if you're standing up a zloop to test zloop, then a zloop
creation failure ought to cause _notrun.

--D

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices
  2025-10-16 15:20 ` [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices Johannes Thumshirn
  2025-10-16 15:48   ` Darrick J. Wong
@ 2025-10-17 18:38   ` Zorro Lang
  1 sibling, 0 replies; 27+ messages in thread
From: Zorro Lang @ 2025-10-17 18:38 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong

On Thu, Oct 16, 2025 at 05:20:31PM +0200, Johannes Thumshirn wrote:
> Add _create_zloop, _destroy_zloop and _find_next_zloop helper functions
> for creating destroying and finding the next free zloop device.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> ---
>  common/zoned | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
> 
> diff --git a/common/zoned b/common/zoned
> index 41697b08..313e755e 100644
> --- a/common/zoned
> +++ b/common/zoned
> @@ -45,3 +45,55 @@ _require_zloop()
>  	    _notrun "This test requires zoned loopback device support"
>      fi
>  }
> +
> +_find_next_zloop()
> +{
> +    id=0
> +
> +    while true; do
> +        if [[ ! -b "/dev/zloop$id" ]]; then
> +            break
> +        fi
> +        id=$((id + 1))
> +    done
> +
> +    echo "$id"
> +}
> +
> +# Create a zloop device
> +# usage: _create_zloop <base_dir> <zone_size> <nr_conv_zones>
> +_create_zloop()
> +{
> +    local id="$(_find_next_zloop)"
> +
> +    if [ -n "$1" ]; then
> +        local zloop_base="$1"
> +    else
> +	local zloop_base="/var/local/zloop"
> +    fi
> +
> +    if [ -n "$2" ]; then
> +        local zone_size=",zone_size_mb=$2"
> +    fi
> +
> +    if [ -n "$3" ]; then
> +        local conv_zones=",conv_zones=$3"
> +    fi
> +
> +    mkdir -p "$zloop_base/$id"
> +
> +    local zloop_args="add id=$id,base_dir=$zloop_base$zone_size$conv_zones"

Are there more arguments for zloop creation, if so, how about add "$*" to the end?

> +
> +    echo "$zloop_args" > /dev/zloop-control

Can this step always succeed? If not, better to _fail if the device isn't created.

> +
> +    echo "/dev/zloop$id"
> +}
> +
> +_destroy_zloop() {
> +	local zloop="$1"
> +
> +	test -b "$zloop" || return
> +	local id=$(echo $zloop | grep -oE '[0-9]+$')
> +
> +	echo "remove id=$id" > /dev/zloop-control

Same question, can this step always succeed?

Thanks,
Zorro

> +}
> -- 
> 2.51.0
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
                     ` (3 preceding siblings ...)
  2025-10-17  4:17   ` Christoph Hellwig
@ 2025-10-17 18:56   ` Zorro Lang
  2025-10-18 11:13     ` Johannes Thumshirn
  2025-10-20  7:28     ` Christoph Hellwig
  4 siblings, 2 replies; 27+ messages in thread
From: Zorro Lang @ 2025-10-17 18:56 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Christoph Hellwig, Naohiro Aota, linux-btrfs, Hans Holmberg,
	fstests, linux-xfs, Carlos Maiolino, Darrick J . Wong,
	Carlos Maiolino

On Thu, Oct 16, 2025 at 05:20:32PM +0200, Johannes Thumshirn wrote:
> Add a basic smoke test for filesystems that support running on zoned
> block devices.
> 
> It creates a zloop device with 2 conventional and 62 sequential zones,
> mounts it and then runs fsx on it.
> 
> Currently this tests supports BTRFS, F2FS and XFS.
> 
> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> ---
>  tests/generic/772     | 43 +++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/772.out |  2 ++
>  2 files changed, 45 insertions(+)
>  create mode 100755 tests/generic/772
>  create mode 100644 tests/generic/772.out
> 
> diff --git a/tests/generic/772 b/tests/generic/772
> new file mode 100755
> index 00000000..10d2556b
> --- /dev/null
> +++ b/tests/generic/772
> @@ -0,0 +1,43 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2025 Wesgtern Digital Corporation.  All Rights Reserved.
> +#
> +# FS QA Test 772
> +#
> +# Smoke test for FSes with ZBD support on zloop
> +#
> +. ./common/preamble
> +. ./common/zoned
> +
> +_begin_fstest auto zone quick
> +
> +_cleanup()
> +{
> +	_destroy_zloop $zloop

        cd /
        rm -r -f $tmp.*

> +}
> +
> +# Modify as appropriate.
> +_require_scratch
> +_require_scratch_size $((16 * 1024 * 1024)) #kB

_require_scratch_size contains _require_scratch.

> +_require_zloop
> +
> +_scratch_mkfs > /dev/null 2>&1
> +_scratch_mount
> +
> +mnt="$SCRATCH_MNT/mnt"
> +zloopdir="$SCRATCH_MNT/zloop"
> +
> +mkdir -p $mnt
> +zloop=$(_create_zloop $zloopdir 256 2)
> +
> +_try_mkfs_dev $zloop >> $seqres.full 2>&1 ||\
> +	_notrun "cannot mkfs zoned filesystem"

Does this mean the current FSTYP doesn't support zoned?

As this's a generic test case, the FSTYP can be any other filesystems, likes
nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
If not, how about _notrun if current FSTYP doesn't support.

> +_mount $zloop $mnt
> +
> +$FSX_PROG -q -N 20000 $FSX_AVOID "$mnt/fsx" >> $seqres.full
> +
> +umount $mnt

Please make sure the zloop device is unmounted and destroied in _cleanup, due
to someone might kill the test process suddenly.

Thanks
Zorro


> +
> +echo Silence is golden
> +# success, all done
> +_exit 0
> diff --git a/tests/generic/772.out b/tests/generic/772.out
> new file mode 100644
> index 00000000..98c13968
> --- /dev/null
> +++ b/tests/generic/772.out
> @@ -0,0 +1,2 @@
> +QA output created by 772
> +Silence is golden
> -- 
> 2.51.0
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-17 18:56   ` Zorro Lang
@ 2025-10-18 11:13     ` Johannes Thumshirn
  2025-10-18 14:05       ` Zorro Lang
  2025-10-20  7:28     ` Christoph Hellwig
  1 sibling, 1 reply; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-18 11:13 UTC (permalink / raw)
  To: Zorro Lang
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On 10/17/25 8:56 PM, Zorro Lang wrote:
> Does this mean the current FSTYP doesn't support zoned?
>
> As this's a generic test case, the FSTYP can be any other filesystems, likes
> nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
> If not, how about _notrun if current FSTYP doesn't support.

I did that in v1 and got told that I shouldn't do this.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-18 11:13     ` Johannes Thumshirn
@ 2025-10-18 14:05       ` Zorro Lang
  2025-10-20  6:21         ` Johannes Thumshirn
  0 siblings, 1 reply; 27+ messages in thread
From: Zorro Lang @ 2025-10-18 14:05 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On Sat, Oct 18, 2025 at 11:13:03AM +0000, Johannes Thumshirn wrote:
> On 10/17/25 8:56 PM, Zorro Lang wrote:
> > Does this mean the current FSTYP doesn't support zoned?
> >
> > As this's a generic test case, the FSTYP can be any other filesystems, likes
> > nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
> > If not, how about _notrun if current FSTYP doesn't support.
> 
> I did that in v1 and got told that I shouldn't do this.

This's your V1, right?
https://lore.kernel.org/fstests/20251007041321.GA15727@lst.de/T/#u

Which line is "_notrun if current FSTYP doesn't support zloop creation"? And where is
the message that told you don't to that? Could you provides more details, I'd like
to learn about more, thanks :)

Thanks,
Zorro

> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-18 14:05       ` Zorro Lang
@ 2025-10-20  6:21         ` Johannes Thumshirn
  2025-10-21  9:33           ` Johannes Thumshirn
  0 siblings, 1 reply; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-20  6:21 UTC (permalink / raw)
  To: Zorro Lang
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On 10/18/25 4:05 PM, Zorro Lang wrote:
> On Sat, Oct 18, 2025 at 11:13:03AM +0000, Johannes Thumshirn wrote:
>> On 10/17/25 8:56 PM, Zorro Lang wrote:
>>> Does this mean the current FSTYP doesn't support zoned?
>>>
>>> As this's a generic test case, the FSTYP can be any other filesystems, likes
>>> nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
>>> If not, how about _notrun if current FSTYP doesn't support.
>> I did that in v1 and got told that I shouldn't do this.
> This's your V1, right?
> https://lore.kernel.org/fstests/20251007041321.GA15727@lst.de/T/#u
>
> Which line is "_notrun if current FSTYP doesn't support zloop creation"? And where is
> the message that told you don't to that? Could you provides more details, I'd like
> to learn about more, thanks :)

Ah sh*t, it was a non public 1st version. It had a check like this:


_require_zoned_support()
{
     case "$FSTYP"
     btrfs)
         test -f /sys/fs/btrfs/features/zoned
         ;;
     f2fs)
         test -f /sys/fs/f2fs/features/blkzoned
         ;;
     xfs)
         true
         ;;
     *)
         false
         ;;
     esac

}

But as xfs doesn't have a features sysfs entry Christoph said, it'll be 
better to just _try_mkfs and see if there are any errors.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-17 18:56   ` Zorro Lang
  2025-10-18 11:13     ` Johannes Thumshirn
@ 2025-10-20  7:28     ` Christoph Hellwig
  1 sibling, 0 replies; 27+ messages in thread
From: Christoph Hellwig @ 2025-10-20  7:28 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Johannes Thumshirn, Christoph Hellwig, Naohiro Aota, linux-btrfs,
	Hans Holmberg, fstests, linux-xfs, Carlos Maiolino,
	Darrick J . Wong, Carlos Maiolino

On Sat, Oct 18, 2025 at 02:56:33AM +0800, Zorro Lang wrote:
> Does this mean the current FSTYP doesn't support zoned?
> 
> As this's a generic test case, the FSTYP can be any other filesystems, likes
> nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
> If not, how about _notrun if current FSTYP doesn't support.

We don't know, and it will be different based on the kernel version.
That being sayd, we should check for a block backed file system
probably.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-20  6:21         ` Johannes Thumshirn
@ 2025-10-21  9:33           ` Johannes Thumshirn
  2025-10-21 14:49             ` Darrick J. Wong
  2025-10-22  4:35             ` hch
  0 siblings, 2 replies; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-21  9:33 UTC (permalink / raw)
  To: Zorro Lang
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On 10/20/25 8:21 AM, Johannes Thumshirn wrote:
> On 10/18/25 4:05 PM, Zorro Lang wrote:
>> On Sat, Oct 18, 2025 at 11:13:03AM +0000, Johannes Thumshirn wrote:
>>> On 10/17/25 8:56 PM, Zorro Lang wrote:
>>>> Does this mean the current FSTYP doesn't support zoned?
>>>>
>>>> As this's a generic test case, the FSTYP can be any other filesystems, likes
>>>> nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
>>>> If not, how about _notrun if current FSTYP doesn't support.
>>> I did that in v1 and got told that I shouldn't do this.
>> This's your V1, right?
>> https://lore.kernel.org/fstests/20251007041321.GA15727@lst.de/T/#u
>>
>> Which line is "_notrun if current FSTYP doesn't support zloop creation"? And where is
>> the message that told you don't to that? Could you provides more details, I'd like
>> to learn about more, thanks :)
> Ah sh*t, it was a non public 1st version. It had a check like this:
>
>
> _require_zoned_support()
> {
>       case "$FSTYP"
>       btrfs)
>           test -f /sys/fs/btrfs/features/zoned
>           ;;
>       f2fs)
>           test -f /sys/fs/f2fs/features/blkzoned
>           ;;
>       xfs)
>           true
>           ;;
>       *)
>           false
>           ;;
>       esac
>
> }
>
> But as xfs doesn't have a features sysfs entry Christoph said, it'll be
> better to just _try_mkfs and see if there are any errors.
>
>
Zorro,

Should I bring that helper back so all FSes but f2fs, btrfs and xfs are 
skipped and then still use _try_mkfs so xfs without zoned RT support is 
skipped?


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-21  9:33           ` Johannes Thumshirn
@ 2025-10-21 14:49             ` Darrick J. Wong
  2025-10-22  4:32               ` hch
  2025-10-22  7:24               ` Zorro Lang
  2025-10-22  4:35             ` hch
  1 sibling, 2 replies; 27+ messages in thread
From: Darrick J. Wong @ 2025-10-21 14:49 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Zorro Lang, hch, Naohiro Aota, linux-btrfs@vger.kernel.org,
	Hans Holmberg, fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Carlos Maiolino

On Tue, Oct 21, 2025 at 09:33:05AM +0000, Johannes Thumshirn wrote:
> On 10/20/25 8:21 AM, Johannes Thumshirn wrote:
> > On 10/18/25 4:05 PM, Zorro Lang wrote:
> >> On Sat, Oct 18, 2025 at 11:13:03AM +0000, Johannes Thumshirn wrote:
> >>> On 10/17/25 8:56 PM, Zorro Lang wrote:
> >>>> Does this mean the current FSTYP doesn't support zoned?
> >>>>
> >>>> As this's a generic test case, the FSTYP can be any other filesystems, likes
> >>>> nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
> >>>> If not, how about _notrun if current FSTYP doesn't support.
> >>> I did that in v1 and got told that I shouldn't do this.
> >> This's your V1, right?
> >> https://lore.kernel.org/fstests/20251007041321.GA15727@lst.de/T/#u
> >>
> >> Which line is "_notrun if current FSTYP doesn't support zloop creation"? And where is
> >> the message that told you don't to that? Could you provides more details, I'd like
> >> to learn about more, thanks :)
> > Ah sh*t, it was a non public 1st version. It had a check like this:
> >
> >
> > _require_zoned_support()
> > {
> >       case "$FSTYP"
> >       btrfs)
> >           test -f /sys/fs/btrfs/features/zoned
> >           ;;
> >       f2fs)
> >           test -f /sys/fs/f2fs/features/blkzoned
> >           ;;
> >       xfs)
> >           true
> >           ;;
> >       *)
> >           false
> >           ;;
> >       esac
> >
> > }
> >
> > But as xfs doesn't have a features sysfs entry Christoph said, it'll be
> > better to just _try_mkfs and see if there are any errors.
> >
> >
> Zorro,
> 
> Should I bring that helper back so all FSes but f2fs, btrfs and xfs are 
> skipped and then still use _try_mkfs so xfs without zoned RT support is 
> skipped?

Except for zonefs, I think you probably have to try mkfsing the zoned
block device to decide if the fs really works because the others all had
zone support added after the initial release.

--D

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-21 14:49             ` Darrick J. Wong
@ 2025-10-22  4:32               ` hch
  2025-10-22  7:24               ` Zorro Lang
  1 sibling, 0 replies; 27+ messages in thread
From: hch @ 2025-10-22  4:32 UTC (permalink / raw)
  To: Darrick J. Wong
  Cc: Johannes Thumshirn, Zorro Lang, hch, Naohiro Aota,
	linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Carlos Maiolino

On Tue, Oct 21, 2025 at 07:49:20AM -0700, Darrick J. Wong wrote:
> Except for zonefs, I think you probably have to try mkfsing the zoned
> block device to decide if the fs really works because the others all had
> zone support added after the initial release.

zonefs isn't support by xfstests because it simply shows a fixed layout
of one file per zone and thus none of the tests would work.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-21  9:33           ` Johannes Thumshirn
  2025-10-21 14:49             ` Darrick J. Wong
@ 2025-10-22  4:35             ` hch
  2025-10-22  6:27               ` Johannes Thumshirn
  1 sibling, 1 reply; 27+ messages in thread
From: hch @ 2025-10-22  4:35 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: Zorro Lang, hch, Naohiro Aota, linux-btrfs@vger.kernel.org,
	Hans Holmberg, fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On Tue, Oct 21, 2025 at 09:33:05AM +0000, Johannes Thumshirn wrote:
> Should I bring that helper back so all FSes but f2fs, btrfs and xfs are 
> skipped and then still use _try_mkfs so xfs without zoned RT support is 
> skipped?

So that'd we need to hack another place for the next zoned file system?

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-22  4:35             ` hch
@ 2025-10-22  6:27               ` Johannes Thumshirn
  2025-10-22  6:33                 ` hch
  0 siblings, 1 reply; 27+ messages in thread
From: Johannes Thumshirn @ 2025-10-22  6:27 UTC (permalink / raw)
  To: hch
  Cc: Zorro Lang, Naohiro Aota, linux-btrfs@vger.kernel.org,
	Hans Holmberg, fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On 10/22/25 6:35 AM, hch wrote:
> On Tue, Oct 21, 2025 at 09:33:05AM +0000, Johannes Thumshirn wrote:
>> Should I bring that helper back so all FSes but f2fs, btrfs and xfs are
>> skipped and then still use _try_mkfs so xfs without zoned RT support is
>> skipped?
> So that'd we need to hack another place for the next zoned file system?
>
Well currently 2 of the 3 filesystems with zoned support tell you if 
they do. But ok I'll leave it that way, _try_mkfs is the catch all.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-22  6:27               ` Johannes Thumshirn
@ 2025-10-22  6:33                 ` hch
  0 siblings, 0 replies; 27+ messages in thread
From: hch @ 2025-10-22  6:33 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: hch, Zorro Lang, Naohiro Aota, linux-btrfs@vger.kernel.org,
	Hans Holmberg, fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Darrick J . Wong, Carlos Maiolino

On Wed, Oct 22, 2025 at 06:27:37AM +0000, Johannes Thumshirn wrote:
> Well currently 2 of the 3 filesystems with zoned support tell you if 
> they do. But ok I'll leave it that way, _try_mkfs is the catch all.

You'll still need to check if the userspace programs support it too.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-21 14:49             ` Darrick J. Wong
  2025-10-22  4:32               ` hch
@ 2025-10-22  7:24               ` Zorro Lang
  2025-10-22  7:34                 ` hch
  1 sibling, 1 reply; 27+ messages in thread
From: Zorro Lang @ 2025-10-22  7:24 UTC (permalink / raw)
  To: Darrick J. Wong, Johannes Thumshirn
  Cc: hch, Naohiro Aota, linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Carlos Maiolino

On Tue, Oct 21, 2025 at 07:49:20AM -0700, Darrick J. Wong wrote:
> On Tue, Oct 21, 2025 at 09:33:05AM +0000, Johannes Thumshirn wrote:
> > On 10/20/25 8:21 AM, Johannes Thumshirn wrote:
> > > On 10/18/25 4:05 PM, Zorro Lang wrote:
> > >> On Sat, Oct 18, 2025 at 11:13:03AM +0000, Johannes Thumshirn wrote:
> > >>> On 10/17/25 8:56 PM, Zorro Lang wrote:
> > >>>> Does this mean the current FSTYP doesn't support zoned?
> > >>>>
> > >>>> As this's a generic test case, the FSTYP can be any other filesystems, likes
> > >>>> nfs, cifs, overlay, exfat, tmpfs and so on, can we create zloop on any of them?
> > >>>> If not, how about _notrun if current FSTYP doesn't support.
> > >>> I did that in v1 and got told that I shouldn't do this.
> > >> This's your V1, right?
> > >> https://lore.kernel.org/fstests/20251007041321.GA15727@lst.de/T/#u
> > >>
> > >> Which line is "_notrun if current FSTYP doesn't support zloop creation"? And where is
> > >> the message that told you don't to that? Could you provides more details, I'd like
> > >> to learn about more, thanks :)
> > > Ah sh*t, it was a non public 1st version. It had a check like this:
> > >
> > >
> > > _require_zoned_support()
> > > {
> > >       case "$FSTYP"
> > >       btrfs)
> > >           test -f /sys/fs/btrfs/features/zoned
> > >           ;;
> > >       f2fs)
> > >           test -f /sys/fs/f2fs/features/blkzoned
> > >           ;;
> > >       xfs)
> > >           true
> > >           ;;
> > >       *)
> > >           false
> > >           ;;
> > >       esac
> > >
> > > }
> > >
> > > But as xfs doesn't have a features sysfs entry Christoph said, it'll be
> > > better to just _try_mkfs and see if there are any errors.
> > >
> > >
> > Zorro,
> > 
> > Should I bring that helper back so all FSes but f2fs, btrfs and xfs are 
> > skipped and then still use _try_mkfs so xfs without zoned RT support is 
> > skipped?
> 
> Except for zonefs, I think you probably have to try mkfsing the zoned
> block device to decide if the fs really works because the others all had
> zone support added after the initial release.

Hi Darrick and Johannes,

Oh, I think I didn't describe my question clearly. This test case needs the FSTYP
in 2 places:

1) Create zloop dev/dir on SCRATCH_MNT:
  zloopdir="$SCRATCH_MNT/zloop"
  zloop=$(_create_zloop $zloopdir 256 2)

2) mkfs.$FSTYP on the zloop device, and use it:
  _try_mkfs_dev $zloop
  _mount $zloop $mnt
  $FSX_PROG -q -N 20000 $FSX_AVOID "$mnt/fsx"

As this's a generic test case, so there're 2 questions from me:
1) Can all FSTYPs (on SCRATCH_MNT) be the underlying fs of a zloop device?
2) Can all FSTYPs works on zloop device?

Currently this patch does:
  _try_mkfs_dev $zloop >> $seqres.full 2>&1 ||\
  	_notrun "cannot mkfs zoned filesystem"
It's for the 2nd question. But _try_mkfs_dev does nothing if FSTYP is nfs, overlay
and so on. I think we need the FSTYP is a "block device" fs, right? Maybe we can call
_require_block_device or any better idea?

And, how's the 1st question (before _create_zloop), if the answer is "No"?

If the 1st question is "yes", but looks like the `_try_mkfs_dev $zloop` restricts the
FSTYP from being un-localfs (e.g. nfs, cifs, afs, overlay etc:)

Thanks,
Zorro

> 
> --D
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices
  2025-10-22  7:24               ` Zorro Lang
@ 2025-10-22  7:34                 ` hch
  0 siblings, 0 replies; 27+ messages in thread
From: hch @ 2025-10-22  7:34 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Darrick J. Wong, Johannes Thumshirn, hch, Naohiro Aota,
	linux-btrfs@vger.kernel.org, Hans Holmberg,
	fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
	Carlos Maiolino, Carlos Maiolino

On Wed, Oct 22, 2025 at 03:24:42PM +0800, Zorro Lang wrote:
> As this's a generic test case, so there're 2 questions from me:
> 1) Can all FSTYPs (on SCRATCH_MNT) be the underlying fs of a zloop device?

Yes.

> 2) Can all FSTYPs works on zloop device?

No.

> If the 1st question is "yes", but looks like the `_try_mkfs_dev $zloop` restricts the
> FSTYP from being un-localfs (e.g. nfs, cifs, afs, overlay etc:)

Yes, we had this come up before, this test should be limited
to block based file system.  I.e. probably a
_require_block_device on $SCRATCH_DEV even if that's not strictly
speaking the exactly correct check.


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2025-10-22  7:34 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-16 15:20 [PATCH v5 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn
2025-10-16 15:20 ` [PATCH v5 1/3] common/zoned: add _require_zloop Johannes Thumshirn
2025-10-16 23:49   ` Naohiro Aota
2025-10-16 15:20 ` [PATCH v5 2/3] common/zoned: add helpers for creation and teardown of zloop devices Johannes Thumshirn
2025-10-16 15:48   ` Darrick J. Wong
2025-10-16 15:50     ` Johannes Thumshirn
2025-10-17  0:44       ` Naohiro Aota
2025-10-17 16:35         ` Darrick J. Wong
2025-10-17 18:38   ` Zorro Lang
2025-10-16 15:20 ` [PATCH v5 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn
2025-10-16 15:49   ` Darrick J. Wong
2025-10-16 23:48   ` Naohiro Aota
2025-10-16 23:54   ` Anand Jain
2025-10-17  4:17   ` Christoph Hellwig
2025-10-17 18:56   ` Zorro Lang
2025-10-18 11:13     ` Johannes Thumshirn
2025-10-18 14:05       ` Zorro Lang
2025-10-20  6:21         ` Johannes Thumshirn
2025-10-21  9:33           ` Johannes Thumshirn
2025-10-21 14:49             ` Darrick J. Wong
2025-10-22  4:32               ` hch
2025-10-22  7:24               ` Zorro Lang
2025-10-22  7:34                 ` hch
2025-10-22  4:35             ` hch
2025-10-22  6:27               ` Johannes Thumshirn
2025-10-22  6:33                 ` hch
2025-10-20  7:28     ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox