block: Introduce BLKGETNRZONES ioctl
Get a zoned block device total number of zones. The device can be a partition of the whole device. The number of zones 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>
This commit is contained in:
parent
72cd87576d
commit
65e4e3eee8
|
@ -534,6 +534,8 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
|
||||||
return blkdev_reset_zones_ioctl(bdev, mode, cmd, arg);
|
return blkdev_reset_zones_ioctl(bdev, mode, cmd, arg);
|
||||||
case BLKGETZONESZ:
|
case BLKGETZONESZ:
|
||||||
return put_uint(arg, bdev_zone_sectors(bdev));
|
return put_uint(arg, bdev_zone_sectors(bdev));
|
||||||
|
case BLKGETNRZONES:
|
||||||
|
return put_uint(arg, blkdev_nr_zones(bdev));
|
||||||
case HDIO_GETGEO:
|
case HDIO_GETGEO:
|
||||||
return blkdev_getgeo(bdev, argp);
|
return blkdev_getgeo(bdev, argp);
|
||||||
case BLKRAGET:
|
case BLKRAGET:
|
||||||
|
|
|
@ -142,5 +142,6 @@ struct blk_zone_range {
|
||||||
#define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report)
|
#define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report)
|
||||||
#define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range)
|
#define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range)
|
||||||
#define BLKGETZONESZ _IOW(0x12, 132, __u32)
|
#define BLKGETZONESZ _IOW(0x12, 132, __u32)
|
||||||
|
#define BLKGETNRZONES _IOW(0x12, 133, __u32)
|
||||||
|
|
||||||
#endif /* _UAPI_BLKZONED_H */
|
#endif /* _UAPI_BLKZONED_H */
|
||||||
|
|
Loading…
Reference in New Issue