On 6/11/19 4:10 PM, Chaitanya Kulkarni wrote: > This patch removes the check in the null_blk_zoned for report zone > command, where it checks for the dev-,>zoned before executing the report > zone. > > The null_zone_report() function is a block_device operation callback > which is initialized in the null_blk_main.c and gets called as a part > of blkdev for report zone IOCTL (BLKREPORTZONE). > > blkdev_ioctl() > blkdev_report_zones_ioctl() > blkdev_report_zones() > blk_report_zones() > disk->fops->report_zones() > nullb_zone_report(); > > The null_zone_report() will never get executed on the non-zoned block > device, in the non zoned block device blk_queue_is_zoned() will always > be false which is first check the blkdev_report_zones_ioctl() > before actual low level driver report zone callback is executed. > > Here is the detailed scenario:- > > 1. modprobe null_blk > null_init > null_alloc_dev > dev->zoned = 0 > null_add_dev > dev->zoned == 0 > so we don't set the q->limits.zoned = BLK_ZONED_HR > > 2. blkzone report /dev/nullb0 > > blkdev_ioctl() > blkdev_report_zones_ioctl() > blk_queue_is_zoned() > blk_queue_is_zoned > q->limits.zoned == 0 > return false > if (!blk_queue_is_zoned(q)) <--- true > return -ENOTTY; Applied, thanks. -- Jens Axboe