All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Zoned block device support improvements
@ 2018-10-10  1:52 Damien Le Moal
  2018-10-10  1:52 ` [PATCH 01/11] scsi: sd_zbc: Rearrange code Damien Le Moal
                   ` (10 more replies)
  0 siblings, 11 replies; 49+ messages in thread
From: Damien Le Moal @ 2018-10-10  1:52 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.

Note: Patch 10 generates an easy to fix conflict with the patch
"dm: Fix report zone remapping" submitted for review yesterday to the
dm-devel list.

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 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              | 363 +++++++++++++++---------
 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         |  28 +-
 drivers/md/dm-linear.c         |  31 +-
 drivers/md/dm-table.c          |  10 +
 drivers/md/dm-zoned-target.c   |   3 +-
 drivers/md/dm.c                | 150 +++++-----
 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         |  20 +-
 include/linux/device-mapper.h  |  10 +-
 include/trace/events/f2fs.h    |   1 -
 include/uapi/linux/blkzoned.h  |   3 +
 23 files changed, 583 insertions(+), 703 deletions(-)

-- 
2.17.1

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

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

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-10  1:52 [PATCH 00/11] Zoned block device support improvements Damien Le Moal
2018-10-10  1:52 ` [PATCH 01/11] scsi: sd_zbc: Rearrange code Damien Le Moal
2018-10-10 13:25   ` Christoph Hellwig
2018-10-10 13:25     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 02/11] scsi: sd_zbc: Reduce boot device scan and revalidate time Damien Le Moal
2018-10-10 13:26   ` Christoph Hellwig
2018-10-10 13:26     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 03/11] scsi: sd_zbc: Fix sd_zbc_check_zones() error checks Damien Le Moal
2018-10-10 13:26   ` Christoph Hellwig
2018-10-10 13:26     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 04/11] block: Introduce blkdev_nr_zones() helper Damien Le Moal
2018-10-10 13:26   ` Christoph Hellwig
2018-10-10 13:26     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 05/11] block: Limit allocation of zone descriptors for report zones Damien Le Moal
2018-10-10 13:27   ` Christoph Hellwig
2018-10-10 13:27     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 06/11] block: Introduce BLKGETZONESZ ioctl Damien Le Moal
2018-10-10 13:27   ` Christoph Hellwig
2018-10-10 13:27     ` Christoph Hellwig
2018-10-10 16:53   ` [dm-devel] " Bart Van Assche
2018-10-10 16:53     ` Bart Van Assche
2018-10-10 16:53     ` Bart Van Assche
2018-10-10  1:52 ` [PATCH 07/11] block: Introduce BLKGETNRZONES ioctl Damien Le Moal
2018-10-10 13:27   ` Christoph Hellwig
2018-10-10 13:27     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 08/11] block: Improve zone reset execution Damien Le Moal
2018-10-10 13:28   ` Christoph Hellwig
2018-10-10 13:28     ` Christoph Hellwig
2018-10-10  1:52 ` [PATCH 09/11] block: Expose queue nr_zones in sysfs Damien Le Moal
2018-10-10 13:28   ` Christoph Hellwig
2018-10-10 13:28     ` Christoph Hellwig
2018-10-10 14:05   ` kbuild test robot
2018-10-10 14:05     ` kbuild test robot
2018-10-10 18:44   ` kbuild test robot
2018-10-10 18:44     ` kbuild test robot
2018-10-10  1:52 ` [PATCH 10/11] block: add a report_zones method Damien Le Moal
2018-10-10 14:15   ` Mike Snitzer
2018-10-10 14:15     ` Mike Snitzer
2018-10-10 16:15     ` Mike Snitzer
2018-10-10 16:15       ` Mike Snitzer
2018-10-10 14:40   ` kbuild test robot
2018-10-10 14:40     ` kbuild test robot
2018-10-10 15:34   ` Mike Snitzer
2018-10-10 15:34     ` Mike Snitzer
2018-10-10 16:25   ` kbuild test robot
2018-10-10 16:25     ` kbuild test robot
2018-10-10  1:52 ` [PATCH 11/11] block: Introduce revalidate_disk_zones() Damien Le Moal
2018-10-10 13:34   ` Christoph Hellwig
2018-10-10 13:34     ` Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.