On 4/18/19 9:40 PM, Damien Le Moal wrote: > fio may be executed concurrently with a block device revalidation by > the kernel. Device revalidation may lead to the block device capacity > to be changed to a smaller value (device changed) or to even 0 in case > of revalidation failure. In such case, the BLKREPORTZONE ioctl > executed from read_zone_info() may report a success with an empty zone > report when the start sector for the report is above the new capacity > of the device. This leads to an infinite loop inside parse_zone_info() > and the fio run never terminating. > > Fix this problem by returning -EIO from read_zone_info() thus > avoiding the infinite loop in parse_zone_info(). This change does not > affect the normal case with a stable device as read_zone_info() is > always called with a valid start sector that does not result in an > empty zone report. Applied, thanks. -- Jens Axboe