OSDN Git Service

block: rework zone reporting
authorChristoph Hellwig <hch@lst.de>
Mon, 11 Nov 2019 02:39:30 +0000 (11:39 +0900)
committerJens Axboe <axboe@kernel.dk>
Wed, 13 Nov 2019 02:12:07 +0000 (19:12 -0700)
commitd41003513e61dd9d4974cb441d30b63650b85654
treec55164e7ccf02f6e7e936757ed178b06109fcca2
parent23a50861adda26a3f3b3ec5fbca0583133d89538
block: rework zone reporting

Avoid the need to allocate a potentially large array of struct blk_zone
in the block layer by switching the ->report_zones method interface to
a callback model. Now the caller simply supplies a callback that is
executed on each reported zone, and private data for it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
12 files changed:
block/blk-zoned.c
drivers/block/null_blk.h
drivers/block/null_blk_zoned.c
drivers/md/dm-flakey.c
drivers/md/dm-linear.c
drivers/md/dm-zoned-metadata.c
drivers/md/dm.c
drivers/scsi/sd.h
drivers/scsi/sd_zbc.c
fs/f2fs/super.c
include/linux/blkdev.h
include/linux/device-mapper.h