On Thu, Sep 29, 2022 at 10:06:04PM +0800, Zorro Lang wrote: > On Thu, Sep 29, 2022 at 02:04:00PM +0200, David Sterba wrote: > > On Thu, Sep 29, 2022 at 02:01:06PM +0800, Zorro Lang wrote: > > > On Thu, Sep 29, 2022 at 01:19:25PM +0900, Naohiro Aota wrote: > > > > A ZNS device limits the number of active zones, which is the number of > > > > zones can be written at the same time. To deal with the limit, btrfs's > > > > zoned mode tracks which zone (corresponds to a block group on the SINGLE > > > > profile) is active, and finish a zone if necessary. > > > > > > > > This test checks if the active zone tracking and the finishing of zones > > > > works properly. First, it fills <number of max active zones> zones > > > > mostly. And, run some data/metadata stress workload to force btrfs to use a > > > > new zone. > > > > > > > > This test fails on an older kernel (e.g, 5.18.2) like below. > > > > > > > > btrfs/292 > > > > [failed, exit status 1]- output mismatch (see /host/btrfs/292.out.bad) > > > > --- tests/btrfs/292.out 2022-09-15 07:52:18.000000000 +0000 > > > > +++ /host/btrfs/292.out.bad 2022-09-15 07:59:14.290967793 +0000 > > > > @@ -1,2 +1,5 @@ > > > > QA output created by 292 > > > > -Silence is golden > > > > +stress_data_bgs failed > > > > +stress_data_bgs_2 failed > > > > +failed: '/bin/btrfs subvolume snapshot /mnt/scratch /mnt/scratch/snap825' > > > > +(see /host/btrfs/292.full for details) > > > > ... > > > > (Run 'diff -u /var/lib/xfstests/tests/btrfs/292.out /host/btrfs/292.out.bad' to see the entire diff) > > > > > > > > The failure is fixed with a series "btrfs: zoned: fix active zone tracking > > > > issues" [1] (upstream commits from 65ea1b66482f ("block: add bdev_max_segments() > > > > helper") to 2ce543f47843 ("btrfs: zoned: wait until zone is finished when > > > > allocation didn't progress")). > > > > > > If this's a regression test case for known fix, we'd better to use: > > > _fixed_by_kernel_commit 65ea1b66482f block: add bdev_max_segments (patchset) > > > > This is very misleading as the commit only adds a helper that's used in > > later commits. If anything, the last commit in the series should be > > mentioned. > > Sure, I just gave an example, you learned about that patchset more than me, so > feel free to pick up a proper commit and description :) Indeed. I'll use the last commit here. > > >