diff options
author | Damien Le Moal <damien.lemoal@wdc.com> | 2018-10-12 12:08:45 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-10-25 19:17:40 +0200 |
commit | 72cd87576d1d885fc2968416ed5aca8f54749653 (patch) | |
tree | c965a7ffee387262de03c108c6fecc837e5b98bb | |
parent | block: Limit allocation of zone descriptors for report zones (diff) | |
download | linux-72cd87576d1d885fc2968416ed5aca8f54749653.tar.xz linux-72cd87576d1d885fc2968416ed5aca8f54749653.zip |
block: Introduce BLKGETZONESZ ioctl
Get a zoned block device zone size in number of 512 B sectors.
The zone size is always 0 for regular block devices.
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | block/ioctl.c | 2 | ||||
-rw-r--r-- | include/uapi/linux/blkzoned.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/block/ioctl.c b/block/ioctl.c index 3884d810efd2..f6d2c6f1f050 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -532,6 +532,8 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, return blkdev_report_zones_ioctl(bdev, mode, cmd, arg); case BLKRESETZONE: return blkdev_reset_zones_ioctl(bdev, mode, cmd, arg); + case BLKGETZONESZ: + return put_uint(arg, bdev_zone_sectors(bdev)); case HDIO_GETGEO: return blkdev_getgeo(bdev, argp); case BLKRAGET: diff --git a/include/uapi/linux/blkzoned.h b/include/uapi/linux/blkzoned.h index ff5a5db8906a..281ac605f752 100644 --- a/include/uapi/linux/blkzoned.h +++ b/include/uapi/linux/blkzoned.h @@ -137,8 +137,10 @@ struct blk_zone_range { * sector specified in the report request structure. * @BLKRESETZONE: Reset the write pointer of the zones in the specified * sector range. The sector range must be zone aligned. + * @BLKGETZONESZ: Get the device zone size in number of 512 B sectors. */ #define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report) #define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range) +#define BLKGETZONESZ _IOW(0x12, 132, __u32) #endif /* _UAPI_BLKZONED_H */ |