On 12/20/23 09:58, Shin'ichiro Kawasaki wrote: > Since the commit fb0259fb276a ("zbd: Ensure first I/O is write for > random read/write to sequential zones"), fio issues write as the first > I/O when zonemode=zbd and rw=randrw options are specified. However, fio > issues the first write even when rwmixwrite=0 option is specified. Users > do not expect such write and it confuses the users. To avoid the > confusion, suppress the write by referring td->o.rwmix[DDIR_WRITE]. > > Fixes: fb0259fb276a ("zbd: Ensure first I/O is write for random read/write to sequential zones") > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> > --- > zbd.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/zbd.c b/zbd.c > index c4f7b12f..61b5b688 100644 > --- a/zbd.c > +++ b/zbd.c > @@ -1876,7 +1876,8 @@ enum fio_ddir zbd_adjust_ddir(struct thread_data *td, struct io_u *io_u, > if (ddir != DDIR_READ || !td_rw(td)) > return ddir; > > - if (io_u->file->last_start[DDIR_WRITE] != -1ULL || td->o.read_beyond_wp) > + if (io_u->file->last_start[DDIR_WRITE] != -1ULL || > + td->o.read_beyond_wp || td->o.rwmix[DDIR_WRITE] == 0) > return DDIR_READ; > > return DDIR_WRITE; Looks good. Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx> -- Damien Le Moal Western Digital Research