On Nov 20, 2021 / 07:34, Damien Le Moal wrote: > On 11/19/21 19:22, Shin'ichiro Kawasaki wrote: > > When reset write pointer is requested to scsi_debug devices with zoned > > model, positions of write pointers are reset, but the data in the target > > zones are not cleared. Read to the zones returns data written before the > > reset write pointer. This unexpected left data is confusing and does not > > allow using scsi_debug for stale page cache test of the BLKRESETZONE > > ioctl. Hence, zero clear the target zones at reset write pointer. > > > > Fixes: f0d1cf9378bd ("scsi: scsi_debug: Add ZBC zone commands") > > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> > > --- > > drivers/scsi/scsi_debug.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c > > index 1d0278da9041..6d1f1a4a6724 100644 > > --- a/drivers/scsi/scsi_debug.c > > +++ b/drivers/scsi/scsi_debug.c > > @@ -4653,6 +4653,7 @@ static void zbc_rwp_zone(struct sdebug_dev_info *devip, > > struct sdeb_zone_state *zsp) > > { > > enum sdebug_z_cond zc; > > + struct sdeb_store_info *sip = devip2sip(devip, false); > > > > if (zbc_zone_is_conv(zsp)) > > return; > > @@ -4667,6 +4668,9 @@ static void zbc_rwp_zone(struct sdebug_dev_info *devip, > > zsp->z_non_seq_resource = false; > > zsp->z_wp = zsp->z_start; > > zsp->z_cond = ZC1_EMPTY; > > + > > + memset(sip->storep + zsp->z_start * sdebug_sector_size, 0, > > + devip->zsize * sdebug_sector_size); > > May be do this only if the zone is *not* already empty ? Resetting an > empty zone is not an error, and in that case there will be no need for > the memset(). This will avoid a lot of memset() when this function is > called from zbc_rwp_all() to handle an all zone reset operation. That sounds a good idea. Also, we can reduce the number of bytes to zero clear by limiting the clear target between z->start and z->wp. Will post v2 with that change. > > > } > > > > static void zbc_rwp_all(struct sdebug_dev_info *devip) > > > > > -- > Damien Le Moal > Western Digital Research -- Best Regards, Shin'ichiro Kawasaki