Re: [PATCH v3 10/11] block: add a report_zones method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/12/18 4:30 AM, Damien Le Moal wrote:
From: Christoph Hellwig <hch@xxxxxx>

Dispatching a report zones command through the request queue is a major
pain due to the command reply payload rewriting necessary. Given that
blkdev_report_zones() is executing everything synchronously, implement
report zones as a block device file operation instead, allowing major
simplification of the code in many places.

sd, null-blk, dm-linear and dm-flakey being the only block device
drivers supporting exposing zoned block devices, these drivers are
modified to provide the device side implementation of the
report_zones() block device file operation.

For device mappers, a new report_zones() target type operation is
defined so that the upper block layer calls blkdev_report_zones() can
be propagated down to the underlying devices of the dm targets.
Implementation for this new operation is added to the dm-linear and
dm-flakey targets.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
[Damien]
* Changed method block_device argument to gendisk
* Various bug fixes and improvements
* Added support for null_blk, dm-linear and dm-flakey.
Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx>
---
  block/blk-core.c               |   1 -
  block/blk-mq-debugfs.c         |   1 -
  block/blk-zoned.c              | 164 ++++++++++----------------------
  drivers/block/null_blk.h       |  11 ++-
  drivers/block/null_blk_main.c  |  23 +----
  drivers/block/null_blk_zoned.c |  57 +++--------
  drivers/md/dm-flakey.c         |  30 ++++--
  drivers/md/dm-linear.c         |  35 ++++---
  drivers/md/dm.c                | 169 ++++++++++++++++-----------------
  drivers/scsi/sd.c              |  13 +--
  drivers/scsi/sd.h              |  11 +--
  drivers/scsi/sd_zbc.c          | 153 +++++++++--------------------
  include/linux/blk_types.h      |   2 -
  include/linux/blkdev.h         |   8 +-
  include/linux/device-mapper.h  |  12 ++-
  include/trace/events/f2fs.h    |   1 -
  16 files changed, 266 insertions(+), 425 deletions(-)

Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>

Cheers,

Hannes
--
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@xxxxxxx			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux