* [PATCH v3 0/3] fstests: basic smoke test on zoned loop device
@ 2025-10-13 8:07 Johannes Thumshirn
2025-10-13 8:07 ` [PATCH v3 1/3] common/zoned: add _require_zloop Johannes Thumshirn
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Johannes Thumshirn @ 2025-10-13 8:07 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 v2:
- Add Carlos' Reviewed-bys
- Add a _find_last_zloop() helper
Johannes Thumshirn (3):
common/zoned: add _require_zloop
common/zoned: add _create_zloop
generic: basic smoke for filesystems on zoned block devices
common/zoned | 37 ++++++++++++++++++++++++++++++++
tests/generic/772 | 49 +++++++++++++++++++++++++++++++++++++++++++
tests/generic/772.out | 2 ++
3 files changed, 88 insertions(+)
create mode 100755 tests/generic/772
create mode 100644 tests/generic/772.out
--
2.51.0
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH v3 1/3] common/zoned: add _require_zloop 2025-10-13 8:07 [PATCH v3 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn @ 2025-10-13 8:07 ` Johannes Thumshirn 2025-10-13 8:43 ` Naohiro Aota 2025-10-14 4:33 ` Christoph Hellwig 2025-10-13 8:07 ` [PATCH v3 2/3] common/zoned: add _create_zloop Johannes Thumshirn 2025-10-13 8:07 ` [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn 2 siblings, 2 replies; 14+ messages in thread From: Johannes Thumshirn @ 2025-10-13 8:07 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> 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] 14+ messages in thread
* Re: [PATCH v3 1/3] common/zoned: add _require_zloop 2025-10-13 8:07 ` [PATCH v3 1/3] common/zoned: add _require_zloop Johannes Thumshirn @ 2025-10-13 8:43 ` Naohiro Aota 2025-10-14 4:33 ` Christoph Hellwig 1 sibling, 0 replies; 14+ messages in thread From: Naohiro Aota @ 2025-10-13 8:43 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 Mon Oct 13, 2025 at 5:07 PM 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> > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Naohiro Aota <naohiro.aota@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 > +} ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/3] common/zoned: add _require_zloop 2025-10-13 8:07 ` [PATCH v3 1/3] common/zoned: add _require_zloop Johannes Thumshirn 2025-10-13 8:43 ` Naohiro Aota @ 2025-10-14 4:33 ` Christoph Hellwig 1 sibling, 0 replies; 14+ messages in thread From: Christoph Hellwig @ 2025-10-14 4:33 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] 14+ messages in thread
* [PATCH v3 2/3] common/zoned: add _create_zloop 2025-10-13 8:07 [PATCH v3 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn 2025-10-13 8:07 ` [PATCH v3 1/3] common/zoned: add _require_zloop Johannes Thumshirn @ 2025-10-13 8:07 ` Johannes Thumshirn 2025-10-14 9:04 ` Naohiro Aota 2025-10-13 8:07 ` [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn 2 siblings, 1 reply; 14+ messages in thread From: Johannes Thumshirn @ 2025-10-13 8:07 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 a helper function for creating a zloop device. Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> --- common/zoned | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/common/zoned b/common/zoned index 41697b08..59bebcae 100644 --- a/common/zoned +++ b/common/zoned @@ -45,3 +45,32 @@ _require_zloop() _notrun "This test requires zoned loopback device support" fi } + +_find_next_zloop() +{ + local last_id=$(ls /dev/zloop* 2> /dev/null | grep -E "zloop[0-9]+" | wc -l) + echo $last_id +} + +# Create a zloop device +# useage: _create_zloop [id] <base_dir> <zone_size> <nr_conv_zones> +_create_zloop() +{ + local id=$1 + + if [ -n "$2" ]; then + local base_dir=",base_dir=$2" + fi + + if [ -n "$3" ]; then + local zone_size=",zone_size_mb=$3" + fi + + if [ -n "$4" ]; then + local conv_zones=",conv_zones=$4" + fi + + local zloop_args="add id=$id$base_dir$zone_size$conv_zones" + + echo "$zloop_args" > /dev/zloop-control +} -- 2.51.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 2/3] common/zoned: add _create_zloop 2025-10-13 8:07 ` [PATCH v3 2/3] common/zoned: add _create_zloop Johannes Thumshirn @ 2025-10-14 9:04 ` Naohiro Aota 0 siblings, 0 replies; 14+ messages in thread From: Naohiro Aota @ 2025-10-14 9:04 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 On Mon Oct 13, 2025 at 5:07 PM JST, Johannes Thumshirn wrote: > Add _create_zloop a helper function for creating a zloop device. > > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> > --- > common/zoned | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/common/zoned b/common/zoned > index 41697b08..59bebcae 100644 > --- a/common/zoned > +++ b/common/zoned > @@ -45,3 +45,32 @@ _require_zloop() > _notrun "This test requires zoned loopback device support" > fi > } > + > +_find_next_zloop() > +{ > + local last_id=$(ls /dev/zloop* 2> /dev/null | grep -E "zloop[0-9]+" | wc -l) > + echo $last_id > +} This one does not work if well one of a non-end zloop device is removed. So, how about something like this? while true; do if [[ ! -b /dev/zloop$id ]]; then break fi id=$(( id + 1 )) done > + > +# Create a zloop device > +# useage: _create_zloop [id] <base_dir> <zone_size> <nr_conv_zones> > +_create_zloop() Thinking of the compatibility with _create_loop_device(), it would be good to return the device name. > +{ > + local id=$1 So, I think we can just grab an ID here as above, and > + > + if [ -n "$2" ]; then > + local base_dir=",base_dir=$2" > + fi > + > + if [ -n "$3" ]; then > + local zone_size=",zone_size_mb=$3" > + fi > + > + if [ -n "$4" ]; then > + local conv_zones=",conv_zones=$4" > + fi mkdir -p $base_dir/$id here. I think it's enough to run a workload on an empty zloop device. Or, should we also support creating a zloop device from an existing file structure? > + > + local zloop_args="add id=$id$base_dir$zone_size$conv_zones" > + > + echo "$zloop_args" > /dev/zloop-control > +} ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-13 8:07 [PATCH v3 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn 2025-10-13 8:07 ` [PATCH v3 1/3] common/zoned: add _require_zloop Johannes Thumshirn 2025-10-13 8:07 ` [PATCH v3 2/3] common/zoned: add _create_zloop Johannes Thumshirn @ 2025-10-13 8:07 ` Johannes Thumshirn 2025-10-13 13:55 ` Anand Jain 2025-10-14 4:33 ` Christoph Hellwig 2 siblings, 2 replies; 14+ messages in thread From: Johannes Thumshirn @ 2025-10-13 8:07 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 | 49 +++++++++++++++++++++++++++++++++++++++++++ tests/generic/772.out | 2 ++ 2 files changed, 51 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..d9b84614 --- /dev/null +++ b/tests/generic/772 @@ -0,0 +1,49 @@ +#! /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 +_begin_fstest auto zone quick + +_cleanup() +{ + if test -b /dev/zloop$ID; then + echo "remove id=$ID" > /dev/zloop-control + fi +} + +. ./common/zoned + +# Modify as appropriate. +_require_scratch +_require_scratch_size $((16 * 1024 * 1024)) #kB +_require_zloop + +_scratch_mkfs > /dev/null 2>&1 +_scratch_mount + +ID=$(_find_next_zloop) + +mnt="$SCRATCH_MNT/mnt" +zloopdir="$SCRATCH_MNT/zloop" + +mkdir -p "$zloopdir/$ID" +mkdir -p $mnt +_create_zloop $ID $zloopdir 256 2 +zloop="/dev/zloop$ID" + +_try_mkfs_dev $zloop 2>&1 >> $seqres.full ||\ + _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] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-13 8:07 ` [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn @ 2025-10-13 13:55 ` Anand Jain 2025-10-13 14:06 ` Johannes Thumshirn 2025-10-14 4:33 ` Christoph Hellwig 1 sibling, 1 reply; 14+ messages in thread From: Anand Jain @ 2025-10-13 13:55 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 Johannes, The test case is failing with XFS. For some reason, the mkfs error wasn't captured in the output, so I had to modify the test slightly. Errors and the diff is below. Thanks, Anand ------- SECTION -- generic-config RECREATING -- xfs on /dev/sde FSTYP -- xfs (non-debug) PLATFORM -- Linux/x86_64 feddev 6.16.10-100.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Oct 2 18:19:14 UTC 2025 MKFS_OPTIONS -- -f /dev/sda MOUNT_OPTIONS -- /dev/sda /mnt/scratch generic/772 [not run] cannot mkfs zoned filesystem Ran: generic/772 Not run: generic/772 Passed all 1 tests SECTION -- generic-config ========================= Ran: generic/772 Not run: generic/772 Passed all 1 tests -------------- $ dmesg [ 2089.280926] XFS (sda): Ending clean mount [ 2089.786335] zloop: Added device 0: 64 zones of 256 MB, 4096 B block size [ 2089.848065] zloop: Zone 63: unaligned write: sect 33554176, wp 33030144 [ 2089.848081] zloop: Zone 63: failed write sector 33554176, 256 sectors [ 2089.848086] I/O error, dev zloop0, sector 33554176 op 0x1:(WRITE) flags 0x8800 phys_seg 32 prio class 2 [ 2089.862921] zloop: Zone 32: unaligned write: sect 16777296, wp 16777216 [ 2089.862934] zloop: Zone 32: failed write sector 16777296, 1024 sectors [ 2089.862939] I/O error, dev zloop0, sector 16777296 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2 ----------------- $ cat ./results/generic-config/generic/772.full echo '1' 2>&1 > /sys/fs/xfs/sda/error/fail_at_unmount echo '0' 2>&1 > /sys/fs/xfs/sda/error/metadata/EIO/max_retries echo '0' 2>&1 > /sys/fs/xfs/sda/error/metadata/EIO/retry_timeout_seconds mkfs.xfs: pwrite failed: Input/output error libxfs_bwrite: write failed on (unknown) bno 0x1ffff00/0x100, err=5 mkfs.xfs: Releasing dirty buffer to free list! found dirty buffer (bulk) on free list! mkfs.xfs: libxfs_device_zero write failed: Input/output error meta-data=/dev/zloop0 isize=512 agcount=4, agsize=1048576 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=1 = reflink=1 bigtime=1 inobtcount=1 nrext64=1 data = bsize=4096 blocks=4194304, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=16384, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 $ git diff diff --git a/tests/generic/772 b/tests/generic/772 index d9b84614da3d..54da97fdd00f 100755 --- a/tests/generic/772 +++ b/tests/generic/772 @@ -36,8 +36,9 @@ mkdir -p $mnt _create_zloop $ID $zloopdir 256 2 zloop="/dev/zloop$ID" -_try_mkfs_dev $zloop 2>&1 >> $seqres.full ||\ +if ! _try_mkfs_dev $zloop >> $seqres.full 2>&1; then _notrun "cannot mkfs zoned filesystem" +fi _mount $zloop $mnt $FSX_PROG -q -N 20000 $FSX_AVOID "$mnt/fsx" >> $seqres.full root@feddev:/Volumes/work/ws/fstests$ ---------------------------- On 13-Oct-25 4:07 PM, 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 | 49 +++++++++++++++++++++++++++++++++++++++++++ > tests/generic/772.out | 2 ++ > 2 files changed, 51 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..d9b84614 > --- /dev/null > +++ b/tests/generic/772 > @@ -0,0 +1,49 @@ > +#! /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 > +_begin_fstest auto zone quick > + > +_cleanup() > +{ > + if test -b /dev/zloop$ID; then > + echo "remove id=$ID" > /dev/zloop-control > + fi > +} > + > +. ./common/zoned > + > +# Modify as appropriate. > +_require_scratch > +_require_scratch_size $((16 * 1024 * 1024)) #kB > +_require_zloop > + > +_scratch_mkfs > /dev/null 2>&1 > +_scratch_mount > + > +ID=$(_find_next_zloop) > + > +mnt="$SCRATCH_MNT/mnt" > +zloopdir="$SCRATCH_MNT/zloop" > + > +mkdir -p "$zloopdir/$ID" > +mkdir -p $mnt > +_create_zloop $ID $zloopdir 256 2 > +zloop="/dev/zloop$ID" > + > +_try_mkfs_dev $zloop 2>&1 >> $seqres.full ||\ > + _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 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-13 13:55 ` Anand Jain @ 2025-10-13 14:06 ` Johannes Thumshirn 2025-10-13 14:42 ` Anand Jain 0 siblings, 1 reply; 14+ messages in thread From: Johannes Thumshirn @ 2025-10-13 14:06 UTC (permalink / raw) To: Anand Jain, 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/13/25 3:55 PM, Anand Jain wrote: > Johannes, > > The test case is failing with XFS. For some reason, the mkfs error > wasn't captured in the output, so I had to modify the test slightly. > Errors and the diff is below. > > Thanks, Anand > > ------- > SECTION -- generic-config > RECREATING -- xfs on /dev/sde > FSTYP -- xfs (non-debug) > PLATFORM -- Linux/x86_64 feddev 6.16.10-100.fc41.x86_64 #1 SMP > PREEMPT_DYNAMIC Thu Oct 2 18:19:14 UTC 2025 > MKFS_OPTIONS -- -f /dev/sda > MOUNT_OPTIONS -- /dev/sda /mnt/scratch > > generic/772 [not run] cannot mkfs zoned filesystem > Ran: generic/772 > Not run: generic/772 > Passed all 1 tests Hi Anand, Looking at the output it isn't failing but skipped on your XFS config. This is expected if XFS isn't build with support for the zoned realtime device. I've been discussing this with Christoph, because for XFS there is no feature flag in sysfs we can check if the kernel can actually support a zoned RT device (unlike f2fs or btrfs which do have this in sysfs). Christoph's idea was to do exactly this, if no zoned RT support is compiled in the kernel. Hence the _try_mkfs_dev instead of a plain _mkfs_dev call. So I /think/ you just validated that the skip if !CONFIG_BLK_DEV_ZONED && !CONFIG_XFS_RT check works. Thanks, Johannes ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-13 14:06 ` Johannes Thumshirn @ 2025-10-13 14:42 ` Anand Jain 2025-10-14 4:30 ` hch 0 siblings, 1 reply; 14+ messages in thread From: Anand Jain @ 2025-10-13 14:42 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 13-Oct-25 10:06 PM, Johannes Thumshirn wrote: > On 10/13/25 3:55 PM, Anand Jain wrote: >> Johannes, >> >> The test case is failing with XFS. For some reason, the mkfs error >> wasn't captured in the output, so I had to modify the test slightly. >> Errors and the diff is below. >> >> Thanks, Anand >> >> ------- >> SECTION -- generic-config >> RECREATING -- xfs on /dev/sde >> FSTYP -- xfs (non-debug) >> PLATFORM -- Linux/x86_64 feddev 6.16.10-100.fc41.x86_64 #1 SMP >> PREEMPT_DYNAMIC Thu Oct 2 18:19:14 UTC 2025 >> MKFS_OPTIONS -- -f /dev/sda >> MOUNT_OPTIONS -- /dev/sda /mnt/scratch >> >> generic/772 [not run] cannot mkfs zoned filesystem >> Ran: generic/772 >> Not run: generic/772 >> Passed all 1 tests > > Hi Anand, > > Looking at the output it isn't failing but skipped on your XFS config. > > > This is expected if XFS isn't build with support for the zoned realtime > device. I've been discussing this with Christoph, because for XFS there > is no feature flag in sysfs we can check if the kernel can actually > support a zoned RT device (unlike f2fs or btrfs which do have this in > sysfs). > > Christoph's idea was to do exactly this, if no zoned RT support is > compiled in the kernel. Hence the _try_mkfs_dev instead of a plain > _mkfs_dev call. > > So I /think/ you just validated that the skip if !CONFIG_BLK_DEV_ZONED > && !CONFIG_XFS_RT check works. > Ah, thanks for clarifying. Any idea if the redirect to seqres.full can be fixed? It was missing the mkfs errors. Best, Anand > Thanks, > > Johannes > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-13 14:42 ` Anand Jain @ 2025-10-14 4:30 ` hch 2025-10-14 14:38 ` Anand Jain 0 siblings, 1 reply; 14+ messages in thread From: hch @ 2025-10-14 4:30 UTC (permalink / raw) To: Anand Jain 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, Darrick J . Wong, Carlos Maiolino On Mon, Oct 13, 2025 at 10:42:03PM +0800, Anand Jain wrote: >> So I /think/ you just validated that the skip if !CONFIG_BLK_DEV_ZONED >> && !CONFIG_XFS_RT check works. >> > > Ah, thanks for clarifying. Any idea if the redirect to seqres.full can be > fixed? It was missing the mkfs errors. With "fixed" you mean not having the mkfs errors in $seqres.full? It's kinda useful to have the messages there to see why the test wasn't run. What speaks against having the messages logged? ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-14 4:30 ` hch @ 2025-10-14 14:38 ` Anand Jain 2025-10-15 4:09 ` hch 0 siblings, 1 reply; 14+ messages in thread From: Anand Jain @ 2025-10-14 14:38 UTC (permalink / raw) To: hch Cc: Johannes Thumshirn, 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 14-Oct-25 12:30 PM, hch wrote: > On Mon, Oct 13, 2025 at 10:42:03PM +0800, Anand Jain wrote: >>> So I /think/ you just validated that the skip if !CONFIG_BLK_DEV_ZONED >>> && !CONFIG_XFS_RT check works. >>> >> >> Ah, thanks for clarifying. Any idea if the redirect to seqres.full can be >> fixed? It was missing the mkfs errors. > > With "fixed" you mean not having the mkfs errors in $seqres.full? It's > kinda useful to have the messages there to see why the test wasn't run. > What speaks against having the messages logged? > Right now (v3) the errors are going to stdout instead of $seqres.full. I was thinking it'd be cleaner if they went to $seqres.full instead. Now: _try_mkfs_dev $zloop 2>&1 >> $seqres.full || Suggested: _try_mkfs_dev $zloop >> $seqres.full 2>&1 || Best. Anand ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-14 14:38 ` Anand Jain @ 2025-10-15 4:09 ` hch 0 siblings, 0 replies; 14+ messages in thread From: hch @ 2025-10-15 4:09 UTC (permalink / raw) To: Anand Jain Cc: hch, Johannes Thumshirn, 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 Tue, Oct 14, 2025 at 10:38:55PM +0800, Anand Jain wrote: > Right now (v3) the errors are going to stdout instead > of $seqres.full. I was thinking it'd be cleaner if they > went to $seqres.full instead. > > Now: > _try_mkfs_dev $zloop 2>&1 >> $seqres.full || > > Suggested: > _try_mkfs_dev $zloop >> $seqres.full 2>&1 || > > Best. Anand Yes, that makes sense. Sorry for being so dense. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices 2025-10-13 8:07 ` [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn 2025-10-13 13:55 ` Anand Jain @ 2025-10-14 4:33 ` Christoph Hellwig 1 sibling, 0 replies; 14+ messages in thread From: Christoph Hellwig @ 2025-10-14 4:33 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 On Mon, Oct 13, 2025 at 10:07:59AM +0200, Johannes Thumshirn wrote: > +_cleanup() > +{ > + if test -b /dev/zloop$ID; then > + echo "remove id=$ID" > /dev/zloop-control > + fi > +} > +mkdir -p "$zloopdir/$ID" > +mkdir -p $mnt > +_create_zloop $ID $zloopdir 256 2 > +zloop="/dev/zloop$ID" To got back to my comments on the first round (sorry, slow to catch up due to conference travel)+, I would expect most of this to be in common/zloop helpers, i.e. have a helper that has basically all the code in the cleanup helper except that it gets passed the ID, and also have the +mkdir -p "$zloopdir/$ID" indluded in _create_zloop. And maybe _create_zloop should also return the device name, turning the above into zloop=`_create_next_zloop $zloopdir 256 2` ? ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-10-15 4:09 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-13 8:07 [PATCH v3 0/3] fstests: basic smoke test on zoned loop device Johannes Thumshirn 2025-10-13 8:07 ` [PATCH v3 1/3] common/zoned: add _require_zloop Johannes Thumshirn 2025-10-13 8:43 ` Naohiro Aota 2025-10-14 4:33 ` Christoph Hellwig 2025-10-13 8:07 ` [PATCH v3 2/3] common/zoned: add _create_zloop Johannes Thumshirn 2025-10-14 9:04 ` Naohiro Aota 2025-10-13 8:07 ` [PATCH v3 3/3] generic: basic smoke for filesystems on zoned block devices Johannes Thumshirn 2025-10-13 13:55 ` Anand Jain 2025-10-13 14:06 ` Johannes Thumshirn 2025-10-13 14:42 ` Anand Jain 2025-10-14 4:30 ` hch 2025-10-14 14:38 ` Anand Jain 2025-10-15 4:09 ` hch 2025-10-14 4:33 ` Christoph Hellwig
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox