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.