public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/11] Zoned block device support improvements
@ 2018-10-12  2:30 Damien Le Moal
  2018-10-12  2:30 ` [PATCH v3 01/11] scsi: sd_zbc: Rearrange code Damien Le Moal
                   ` (10 more replies)
  0 siblings, 11 replies; 33+ messages in thread
From: Damien Le Moal @ 2018-10-12  2:30 UTC (permalink / raw)
  To: linux-block, Jens Axboe, linux-scsi, Martin K . Petersen,
	dm-devel, Mike Snitzer
  Cc: Christoph Hellwig, Matias Bjorling

This series improves zoned block device support (reduce overhead) and
introduces many simplifications to the code (overall, there are more deletions
than insertions).

In more details:
* Patches 1 to 3 are SCSI side (sd driver) cleanups and improvements reducing
  the overhead of report zones command execution during disk scan and
  revalidation.
* Patches 4 to 9 improve the useability and user API of zoned block devices.
* Patch 10 is the main part of this series. This patch replaces the
  REQ_OP_ZONE_REPORT BIO/request operation for executing report zones commands
  with a block device file operation, removing the need for the command reply
  payload in-place rewriting in the BIO buffer. This leads to major
  simplification of the code in many places.
* Patch 11 further simplifies the code of low level drivers by providing a
  generic implementation of zoned block device request queue zone bitmaps
  initialization and revalidation.

Please consider the addition of these patches in 4.20.
Comments are as always welcome.

Changes from v2:
* Reworked patch 9 to preserve the declaration of struct request_queue nr_zones
  field being conditional on CONFIG_BLK_DEV_ZONED

Changes from v1:
* Addressed Christoph's and Bart's comments
* Fixed several compilation errors with zoned block device support disabled
* Rebased on latest rc including the most recent dm patches

Christoph Hellwig (1):
  block: add a report_zones method

Damien Le Moal (10):
  scsi: sd_zbc: Rearrange code
  scsi: sd_zbc: Reduce boot device scan and revalidate time
  scsi: sd_zbc: Fix sd_zbc_check_zones() error checks
  block: Introduce blkdev_nr_zones() helper
  block: Limit allocation of zone descriptors for report zones
  block: Introduce BLKGETZONESZ ioctl
  block: Introduce BLKGETNRZONES ioctl
  block: Improve zone reset execution
  block: Expose queue nr_zones in sysfs
  block: Introduce blk_revalidate_disk_zones()

 block/blk-core.c               |   1 -
 block/blk-lib.c                |  13 +-
 block/blk-mq-debugfs.c         |   1 -
 block/blk-sysfs.c              |  13 +
 block/blk-zoned.c              | 359 +++++++++++++++---------
 block/blk.h                    |   8 +
 block/ioctl.c                  |   4 +
 drivers/block/null_blk.h       |  11 +-
 drivers/block/null_blk_main.c  |  30 +-
 drivers/block/null_blk_zoned.c |  57 +---
 drivers/md/dm-flakey.c         |  30 +-
 drivers/md/dm-linear.c         |  35 ++-
 drivers/md/dm-table.c          |  10 +
 drivers/md/dm-zoned-target.c   |   3 +-
 drivers/md/dm.c                | 169 ++++++-----
 drivers/scsi/sd.c              |  15 +-
 drivers/scsi/sd.h              |  15 +-
 drivers/scsi/sd_zbc.c          | 497 +++++++++------------------------
 include/linux/blk_types.h      |   2 -
 include/linux/blkdev.h         |  22 +-
 include/linux/device-mapper.h  |  12 +-
 include/trace/events/f2fs.h    |   1 -
 include/uapi/linux/blkzoned.h  |   3 +
 23 files changed, 591 insertions(+), 720 deletions(-)

-- 
2.17.1


















Christoph Hellwig (1):
  block: add a report_zones method

Damien Le Moal (10):
  scsi: sd_zbc: Rearrange code
  scsi: sd_zbc: Reduce boot device scan and revalidate time
  scsi: sd_zbc: Fix sd_zbc_check_zones() error checks
  block: Introduce blkdev_nr_zones() helper
  block: Limit allocation of zone descriptors for report zones
  block: Introduce BLKGETZONESZ ioctl
  block: Introduce BLKGETNRZONES ioctl
  block: Improve zone reset execution
  block: Expose queue nr_zones in sysfs
  block: Introduce blk_revalidate_disk_zones()

 block/blk-core.c               |   1 -
 block/blk-lib.c                |  13 +-
 block/blk-mq-debugfs.c         |   1 -
 block/blk-sysfs.c              |  13 +
 block/blk-zoned.c              | 359 +++++++++++++++---------
 block/blk.h                    |   8 +
 block/ioctl.c                  |   4 +
 drivers/block/null_blk.h       |  11 +-
 drivers/block/null_blk_main.c  |  30 +-
 drivers/block/null_blk_zoned.c |  57 +---
 drivers/md/dm-flakey.c         |  30 +-
 drivers/md/dm-linear.c         |  35 ++-
 drivers/md/dm-table.c          |  10 +
 drivers/md/dm-zoned-target.c   |   3 +-
 drivers/md/dm.c                | 169 ++++++-----
 drivers/scsi/sd.c              |  15 +-
 drivers/scsi/sd.h              |  15 +-
 drivers/scsi/sd_zbc.c          | 497 +++++++++------------------------
 include/linux/blk_types.h      |   2 -
 include/linux/blkdev.h         |  30 +-
 include/linux/device-mapper.h  |  12 +-
 include/trace/events/f2fs.h    |   1 -
 include/uapi/linux/blkzoned.h  |   3 +
 23 files changed, 600 insertions(+), 719 deletions(-)

-- 
2.17.1

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

end of thread, other threads:[~2018-10-12 10:28 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-12  2:30 [PATCH v3 00/11] Zoned block device support improvements Damien Le Moal
2018-10-12  2:30 ` [PATCH v3 01/11] scsi: sd_zbc: Rearrange code Damien Le Moal
2018-10-12  7:29   ` Hannes Reinecke
2018-10-12  2:30 ` [PATCH v3 02/11] scsi: sd_zbc: Reduce boot device scan and revalidate time Damien Le Moal
2018-10-12  7:33   ` Hannes Reinecke
2018-10-12  7:48     ` Damien Le Moal
2018-10-12 10:28     ` Matias Bjorling
2018-10-12  2:30 ` [PATCH v3 03/11] scsi: sd_zbc: Fix sd_zbc_check_zones() error checks Damien Le Moal
2018-10-12  7:35   ` Hannes Reinecke
2018-10-12  7:50     ` Damien Le Moal
2018-10-12  2:30 ` [PATCH v3 04/11] block: Introduce blkdev_nr_zones() helper Damien Le Moal
2018-10-12  7:36   ` Hannes Reinecke
2018-10-12  2:30 ` [PATCH v3 05/11] block: Limit allocation of zone descriptors for report zones Damien Le Moal
2018-10-12  7:36   ` Hannes Reinecke
2018-10-12  2:30 ` [PATCH v3 06/11] block: Introduce BLKGETZONESZ ioctl Damien Le Moal
2018-10-12  7:37   ` Hannes Reinecke
2018-10-12  8:23   ` Christoph Hellwig
2018-10-12  2:30 ` [PATCH v3 07/11] block: Introduce BLKGETNRZONES ioctl Damien Le Moal
2018-10-12  7:37   ` Hannes Reinecke
2018-10-12  8:23   ` Christoph Hellwig
2018-10-12  2:30 ` [PATCH v3 08/11] block: Improve zone reset execution Damien Le Moal
2018-10-12  7:39   ` Hannes Reinecke
2018-10-12  2:30 ` [PATCH v3 09/11] block: Expose queue nr_zones in sysfs Damien Le Moal
2018-10-12  7:41   ` Hannes Reinecke
2018-10-12  7:55     ` Damien Le Moal
2018-10-12  8:41       ` Hannes Reinecke
2018-10-12  8:28     ` Christoph Hellwig
2018-10-12  8:29   ` Christoph Hellwig
2018-10-12  2:30 ` [PATCH v3 10/11] block: add a report_zones method Damien Le Moal
2018-10-12  7:42   ` Hannes Reinecke
2018-10-12  2:30 ` [PATCH v3 11/11] block: Introduce blk_revalidate_disk_zones() Damien Le Moal
2018-10-12  7:44   ` Hannes Reinecke
2018-10-12  8:30   ` Christoph Hellwig

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