On Fri, Oct 12 2018 at 6:08am -0400, Damien Le Moal <damien.lemoal@xxxxxxx> 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> > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx>