mbox series

[v3,0/2] New zoned loop block device driver

Message ID 20250407075222.170336-1-dlemoal@kernel.org (mailing list archive)
Headers show
Series New zoned loop block device driver | expand

Message

Damien Le Moal April 7, 2025, 7:52 a.m. UTC
This patch series implements the new "zloop" zoned block device driver
which allows creating zoned block devices using one regular file per
zone as backing storage. This driver is an alternative to the RUST
rublk driver which provide a similar functionality using ublk
(See https://github.com/ublk-org/rublk.git). However, zloop is far
simpler to use (a single shell command to setup and teardown a device)
and does not have any user space dependencies. These characteristics
make zloop a better solution for integration in test environments (such
as xfstests) using small VMs.

zloop and rublk performance is generally comparable. zloop is a bit
faster for large sequential write operations than rublk, while rublk is
faster for small zone-random write IOs.

The first patch implements the "zloop" zoned block device driver under
drivers/block. The second patch adds documentation for this driver
(overview and usage examples).

About half of the code of the first patch is from Christoph Hellwig.

Damien Le Moal (2):
  block: new zoned loop block device driver
  Documentation: Document the new zoned loop block device driver

Changes from v2:
 - Rebased on 6.15-rc1
 - Some corrections of the documentation

Changes from v1:
 - Corrected Kconfig description in patch 1 (outdated example was shown)
 - Added missing request sector update on completion of zone append
   request (I had not pushed that...)
 - Added reference to the documentation in the kconfig entry in patch 2

Damien Le Moal (2):
  block: new zoned loop block device driver
  Documentation: Document the new zoned loop block device driver

 Documentation/admin-guide/blockdev/index.rst  |    1 +
 .../admin-guide/blockdev/zoned_loop.rst       |  169 ++
 MAINTAINERS                                   |    8 +
 drivers/block/Kconfig                         |   19 +
 drivers/block/Makefile                        |    1 +
 drivers/block/zloop.c                         | 1385 +++++++++++++++++
 6 files changed, 1583 insertions(+)
 create mode 100644 Documentation/admin-guide/blockdev/zoned_loop.rst
 create mode 100644 drivers/block/zloop.c

Comments

Johannes Thumshirn April 8, 2025, 7:51 a.m. UTC | #1
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>