On Thu, Mar 26, 2020 at 08:59:16AM +0800, Qu Wenruo wrote: > > > On 2020/3/25 下午10:42, David Sterba wrote: > > On Tue, Mar 24, 2020 at 06:53:09PM +0800, Qu Wenruo wrote: > >> This patchset can be fetched from github: > >> https://github.com/adam900710/btrfs-progs/tree/valgrind_fixes > >> > >> Inspired by that long-existing-but-I-can't-reproduce v5.1 bug, I will > >> never trust D=asan/D=uban anymore, and run valgrind on all fsck-tests. > >> > >> The patchset is the result from the latest valgrind runs. > >> > >> The first patch is to make "make INSTRUMENT=valgrind test-fsck" run > >> smoothly without false alerts due to mount/umount failure with valgrind. > > > > Thanks, that's great. In addition to that, all commands that use the > > SUDO_HELPER/root_helper won't pass through valgrind. For maximum > > coverage we might want to remove the helper from the subcommands of > > 'btrfs'. From a quick scan I found a lot of them and I'm not sure that > > all are required. There's a lot of copy&paste in the tests, so that > > would have to be cleaned up, or we leave it as it is and run the whole > > tests under root. > > The root fix is, like what we did for lowmem mode, injecting valgrind to > proper location. > > Currently I take a shortcut to reuse current infrastructure, but the > root fix would need to inject INSTRUMENT directly before > "btrfs/mkfs.btrfs/btrfs-convert", so that sudo_helper won't be a problem. That's a great idea. For some reason I thought that valgrind refused to work under root but that's not true. Injecting the instrumentation only to the tools built from git is exactly what we want.
