[dm-devel] [PATCH v5 00/11] dm: Improve zoned block device support

Mike Snitzer snitzer at redhat.com
Thu Jun 3 22:16:45 UTC 2021


On Thu, Jun 03 2021 at  1:46P -0400,
Jens Axboe <axboe at kernel.dk> wrote:

> On 6/2/21 12:32 PM, Mike Snitzer wrote:
> > On Tue, Jun 01 2021 at  6:57P -0400,
> > Damien Le Moal <Damien.LeMoal at wdc.com> wrote:
> > 
> >> On 2021/05/26 6:25, Damien Le Moal wrote:
> >>> This series improve device mapper support for zoned block devices and
> >>> of targets exposing a zoned device.
> >>
> >> Mike, Jens,
> >>
> >> Any feedback regarding this series ?
> >>
> >>>
> >>> The first patch improve support for user requests to reset all zones of
> >>> the target device. With the fix, such operation behave similarly to
> >>> physical block devices implementation based on the single zone reset
> >>> command with the ALL bit set.
> >>>
> >>> The following 2 patches are preparatory block layer patches.
> >>>
> >>> Patch 4 and 5 are 2 small fixes to DM core zoned block device support.
> >>>
> >>> Patch 6 reorganizes DM core code, moving conditionally defined zoned
> >>> block device code into the new dm-zone.c file. This avoids sprinkly DM
> >>> with zone related code defined under an #ifdef CONFIG_BLK_DEV_ZONED.
> >>>
> >>> Patch 7 improves DM zone report helper functions for target drivers.
> >>>
> >>> Patch 8 fixes a potential problem with BIO requeue on zoned target.
> >>>
> >>> Finally, patch 9 to 11 implement zone append emulation using regular
> >>> writes for target drivers that cannot natively support this BIO type.
> >>> The only target currently needing this emulation is dm-crypt. With this
> >>> change, a zoned dm-crypt device behaves exactly like a regular zoned
> >>> block device, correctly executing user zone append BIOs.
> >>>
> >>> This series passes the following tests:
> >>> 1) zonefs tests on top of dm-crypt with a zoned nullblk device
> >>> 2) zonefs tests on top of dm-crypt+dm-linear with an SMR HDD
> >>> 3) btrfs fstests on top of dm-crypt with zoned nullblk devices.
> >>>
> >>> Comments are as always welcome.
> > 
> > I've picked up DM patches 4-8 because they didn't depend on the first
> > 3 block patches.
> > 
> > But I'm fine with picking up 1-3 if Jens provides his Acked-by.
> > And then I can pickup the remaining DM patches 9-11.
> 
> I'm fine with 1-3, you can add my Acked-by to those.

Thanks, did so.

Damien: I've staged this patchset in linux-next via the dm-5.14 branch of linux-dm.git

Might look at optimizing the fast-path of __map_bio further, e.g. this
leaves something to be desired considering how niche this all is:

        /*
         * Check if the IO needs a special mapping due to zone append emulation
         * on zoned target. In this case, dm_zone_map_bio() calls the target
         * map operation.
         */
        if (dm_emulate_zone_append(io->md))
                r = dm_zone_map_bio(tio);
        else
                r = ti->type->map(ti, clone);

Does it make sense to split out a new CONFIG_ that encapsulates legacy
zoned devices?




More information about the dm-devel mailing list