Linux block layer
 help / color / mirror / Atom feed
* [PATCH v6 00/10] Add support for storage element depopulation
@ 2026-10-13 12:27 Damien Le Moal
  2026-10-13 12:27 ` [PATCH v6 01/10] block: introduce disk_zone_is_offline() Damien Le Moal
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Damien Le Moal @ 2026-10-13 12:27 UTC (permalink / raw)
  To: Jens Axboe, linux-block, Christoph Hellwig, linux-scsi,
	Martin K . Petersen

Jens,

These patches define a new set of block device operations for generically
using from the block layer the storage element depopulation feature of
zoned block devices. Support for this feature is added to the SCSI disk
driver and an emulation of this feature added to the zloop driver.

The management operations can be accessed using block layer API, which is
intended for file systems (e.g. zonefs and XFS), as well as using ioctls
for users using zoned disks directly from user space.

Changes from v5:
 - Rebased on latest block/for-next
 - Addressed Christoph's comments on patch 3
 - Added patch 5 to address a potential deadlock in zloop (signaled by
   sashiko)
 - Reworked the restoration of storage elements in patch 6 to avoid an
   inconsistent state of storage elements in case of error. Also added
   protection against disk removal during storage element removal and
   restoration execution.
 - Added review tags

Changes from v4:
 - Rebased on latest block/for-next
 - Added review tags to patch 1 and 2
 - Reworked patch 3, 4 and 5 to address Christoph's and sashiko comments

Changes from v3:
 - Reworked patch 1 to only provide the disk_zone_is_offline() helper
   function. Failing of read operations to offline zones is handled
   directly by the zloop driver and the new patch 7 is added to handle
   failing early read operations to offline zones of ZBC SCSI disks.
 - Added patch 2
 - Addressed further valid comments from Sashiko
   The biggest changes are in patch 2 to save the number of storage
   elements of a disk in struct gendisk and to serialize the execution of
   the storage element management operations using the zone revalidation
   mutex.
 - Rebased on latest block/for-next

Changes from v2:
 - Addressed further valid comments from Sashiko
 - Rebased on latest block/for-next

Changes from v1:
 - Addressed the many valid comments that Sashiko had
 - Rebased on latest block/for-next

Damien Le Moal (10):
  block: introduce disk_zone_is_offline()
  block: refactor blk_revalidate_disk_zones()
  block: introduce storage element management
  block: add storage element management ioctls
  zloop: avoid potential wp_lock deadlocks
  zloop: add storage element emulation
  zloop: add degrade_element control command
  scsi: sd: fail read commands to offline zones early
  scsi: sd_zbc: always revalidate zones for disks supporting head depopulation
  scsi: sd_zbc: define storage element management operations

 .../admin-guide/blockdev/zoned_loop.rst       |  29 +-
 block/blk-zoned.c                             | 504 ++++++++++-
 block/blk.h                                   |  14 +
 block/genhd.c                                 |   4 +
 block/ioctl.c                                 |   4 +
 drivers/block/zloop.c                         | 803 ++++++++++++++++--
 drivers/scsi/sd.c                             |  11 +-
 drivers/scsi/sd.h                             |   3 +
 drivers/scsi/sd_zbc.c                         | 259 +++++-
 include/linux/blkdev.h                        |  31 +
 include/uapi/linux/blkzoned.h                 |  98 +++
 include/uapi/linux/fs.h                       |   1 +
 12 files changed, 1673 insertions(+), 88 deletions(-)

-- 
2.55.0


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

end of thread, other threads:[~2026-10-13 14:18 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13 12:27 [PATCH v6 00/10] Add support for storage element depopulation Damien Le Moal
2026-10-13 12:27 ` [PATCH v6 01/10] block: introduce disk_zone_is_offline() Damien Le Moal
2026-10-13 12:27 ` [PATCH v6 02/10] block: refactor blk_revalidate_disk_zones() Damien Le Moal
2026-10-13 12:27 ` [PATCH v6 03/10] block: introduce storage element management Damien Le Moal
2026-10-13 14:14   ` Christoph Hellwig
2026-10-13 12:27 ` [PATCH v6 04/10] block: add storage element management ioctls Damien Le Moal
2026-10-13 14:16   ` Christoph Hellwig
2026-10-13 12:27 ` [PATCH v6 05/10] zloop: avoid potential wp_lock deadlocks Damien Le Moal
2026-10-13 14:17   ` Christoph Hellwig
2026-10-13 12:27 ` [PATCH v6 06/10] zloop: add storage element emulation Damien Le Moal
2026-10-13 14:17   ` Christoph Hellwig
2026-10-13 12:27 ` [PATCH v6 07/10] zloop: add degrade_element control command Damien Le Moal
2026-10-13 12:27 ` [PATCH v6 08/10] scsi: sd: fail read commands to offline zones early Damien Le Moal
2026-10-13 12:27 ` [PATCH v6 09/10] scsi: sd_zbc: always revalidate zones for disks supporting head depopulation Damien Le Moal
2026-10-13 14:17   ` Christoph Hellwig
2026-10-13 12:27 ` [PATCH v6 10/10] scsi: sd_zbc: define storage element management operations Damien Le Moal

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