On Tue, Oct 29, 2024 at 04:33:52PM +1030, Qu Wenruo wrote: > > > 在 2024/10/29 16:26, Zorro Lang 写道: > > On Tue, Oct 29, 2024 at 10:05:25AM +1030, Qu Wenruo wrote: > [...] > > > +# > > > +. ./common/preamble > > > +_begin_fstest auto quick > > ^^ > > rw > > > > I think we can keep the "rw" group as g/095 does. > > If that's the only missing part, mind to add that rw group when merging? > > The remaining two points may not need modification, explained inlined. > > > > + # Now read is triggered on that folio. > > > + # Btrfs will need to wait for any existing ordered extents in the folio range, > > > + # that wait will also trigger writeback if the folio is dirty. > > > + # That writeback will happen for range [48K, 64K), but since the whole folio > > > + # is locked for read, writeback will also try to lock the same folio, causing > > > + # a deadlock. > > > + $FIO_PROG $fio_config --ignore_error=,EIO --output=$fio_out > > > > Looks like this test doesn't mix DIO and buffered IO, so this EIO ignoring might not be > > needed. > > I'm not sure about the EIO part, but at least job2 and job3 are all > doing writes, one is buffered and the other is direct. > So it's still mixing both. > > > > > > + # umount before checking dmesg in case umount triggers any WARNING or Oops > > > + _scratch_unmount > > > + > > > + _check_dmesg _filter_aiodio_dmesg > > > > This test removed mmap test part, so this dmesg filter might not be needed either ? > > If so, don't need to import above "./common/filter" either. > > Since it's still mixing buffered and direct IO, I can hit the aiodio > error message just like this: > > [91619.077752] BTRFS warning (device dm-2): read-write for sector size > 4096 with page size 65536 is experimental > [91619.086204] BTRFS info (device dm-2): checking UUID tree > [91619.473510] Page cache invalidation failure on direct I/O. Possible > data corruption due to collision with buffered I/O! > > So I'm afraid we need the filter too. Oh, thanks for your confirming. I can merge this patch with that tiny change. If there's not more review points from btrfs list, I'll merge it. It looks good to me now. Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx> > > Thanks, > Qu > > > > > Others looks good to me. > > > > Thanks, > > Zorro > > > > > + > > > + echo "=== fio $i/$iterations ===" >> $seqres.full > > > + cat $fio_out >> $seqres.full > > > +done > > > + > > > +echo "Silence is golden" > > > + > > > +# success, all done > > > +status=0 > > > +exit > > > diff --git a/tests/generic/366.out b/tests/generic/366.out > > > new file mode 100644 > > > index 00000000..1fe90e06 > > > --- /dev/null > > > +++ b/tests/generic/366.out > > > @@ -0,0 +1,2 @@ > > > +QA output created by 366 > > > +Silence is golden > > > -- > > > 2.46.0 > > > > > > > > > > >