On Thu, Mar 14, 2019 at 12:46:33PM +0900, Shin'ichiro Kawasaki wrote: > Since SCSI scanning occurs asynchronously, the kernel function > blk_revalidate_disk_zones() called from sd_revalidate_disk() may be > executed while write I/Os are ongoing. As a result, > blk_revalidate_disk_zones() must not cause write I/O errors by changing > zone related parameters of the device queue unless the disk has changed. > This patch allows checking this behavior and catch regressions such as > fixed by commit ccce20fc7968 ("scsi: sd_zbc: Avoid that resetting a zone > fails sporadically"). > > To trigger disk revalidate, fio is executed with the --loops option > causing the target device file to be closed and reopen at each loop. The > file close triggers disk revalidate and fio starts issuing I/Os before > revalidate completes, resulting in the desired simultaneous parallel > execution of write I/Os and blk_revalidate_disk_zones(). > > Also move the _find_first_sequential_zone() helper function from zbd/005 > to zbd/rc and reuse it in the new test case for target zone selection. > > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> > --- > tests/zbd/005 | 13 ------------ > tests/zbd/006 | 52 +++++++++++++++++++++++++++++++++++++++++++++++ > tests/zbd/006.out | 2 ++ > tests/zbd/rc | 13 ++++++++++++ > 4 files changed, 67 insertions(+), 13 deletions(-) > create mode 100644 tests/zbd/006 > create mode 100644 tests/zbd/006.out Thanks, applied.