On Sat, Apr 06, 2019 at 09:57:35AM +0800, Qu Wenruo wrote:
> >>>
> >>> This patchset also introduces a new optimization, where original empty
> >>> leaf owner check can be pretty expensive and cause false alerts for
> >>> write time tree checker.
> >>> With this new optimization, write time tree checker can reuse the
> >>> existing btrfs_check_leaf_full().
> >>
> >> This on top of misc-next throws 6 'write time' errors:
> >>
> >> btrfs/101               [14:00:24][ 3963.736352] run fstests btrfs/101 at 
> >> 2019-04-05 14:00:24
> >> [ 3970.417649] BTRFS error (device vdc): block=2446344192 write time tree 
> >> block corruption detected
> > 
> > In my case, these tests just pass, so I haven't checked the dmesg.

I have a filter for log (it's mix of terminal and kernel log)

egrep -a '(run fstests|WARNING:|BUG:|RIP:|UBSAN:|^\s+[+-]|CPU:.*Comm:|write 
time|read time|blocked for more than|Linux version)'

so the unexpected output is not lost among other messages.

> Oh, those tests passes because of a bug in mainline.
> 
> 6dc4f100c175 ("block: allow bio_for_each_segment_all() to iterate over
> multi-page bvec") prevents us from breaking bio_for_each_segment_all()
> loop, thus not triggering transaction abort.
> 
> A nice finding digging into the report.

Indeed, thanks. The hidden for-in-for in the macro would bite us later.

Reply via email to