btrfs/057: Fix false alerts due to orphan files
authorQu Wenruo <wqu@suse.com>
Tue, 30 Oct 2018 10:18:19 +0000 (18:18 +0800)
committerEryu Guan <guaneryu@gmail.com>
Tue, 30 Oct 2018 11:22:18 +0000 (19:22 +0800)
commit51fb534ecff1688893d70eec3f9faa416c0ceb8c
tree7502f2dc1f50d0b3e6a83ca6cf5f9681ba68b59a
parent0a53bf6c33a48464ec4e7bff64c1cfb91dc25926
btrfs/057: Fix false alerts due to orphan files

For any recent kernel, there is a chance that btrfs/057 reports false
errors.

The false error would look like:
  btrfs/057 4s ... - output mismatch (see /home/adam/xfstests-dev/results//btrfs/057.out.bad)
      --- tests/btrfs/057.out 2017-08-21 09:25:33.166666666 +0800
      +++ /home/adam/xfstests-dev/results//btrfs/057.out.bad 2018-10-29 14:07:28.443651293 +0800
      @@ -1,3 +1,3 @@
       QA output created by 057
       4096 4096
      -4096 4096
      +28672 28672

This is related to the fact that "btrfs subvolume sync" (or
vanilla sync) will not ensure orphan (unlinked but still exist) files to
be removed.

In fact, for that false error case, if inspecting the fs after umount,
its qgroup number is correct and btrfs check won't report qgroup error.

To fix the false alerts, just skip any manual qgroup number comparison,
and let fsck done after the test case to detect problem.

This also elimiate the necessary of using specified mount and mkfs
option, allowing us to improve coverage.

Reported-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/btrfs/057
tests/btrfs/057.out