On 2018/10/29 下午5:52, Filipe Manana wrote:
> On Mon, Oct 29, 2018 at 6:31 AM Qu Wenruo <w...@suse.com> wrote:
>>
>> For latest kernel, there is a chance that btrfs/057 reports false
>> errors.
> 
> By latest kernel you mean 4.20?

I mean almost all kernels.

> 
>>
>> 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.
> 
> So when did that happen, which commit introduced the behaviour change?

No behavior change, it's always the case.
Just not that easy to hit.

Thanks,
Qu

> 
>>
>> 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 <nbori...@suse.com>
>> Signed-off-by: Qu Wenruo <w...@suse.com>
>> ---
>>  tests/btrfs/057     | 17 ++++-------------
>>  tests/btrfs/057.out |  3 +--
>>  2 files changed, 5 insertions(+), 15 deletions(-)
>>
>> diff --git a/tests/btrfs/057 b/tests/btrfs/057
>> index b019f4e1..0b5a36d3 100755
>> --- a/tests/btrfs/057
>> +++ b/tests/btrfs/057
>> @@ -33,12 +33,9 @@ _require_scratch
>>  rm -f $seqres.full
>>
>>  # use small leaf size to get higher btree height.
>> -run_check _scratch_mkfs "-b 1g --nodesize 4096"
>> +run_check _scratch_mkfs "-b 1g"
>>
>> -# inode cache is saved in the FS tree itself for every
>> -# individual FS tree,that affects the sizes reported by qgroup show
>> -# so we need to explicitly turn it off to get consistent values.
>> -_scratch_mount "-o noinode_cache"
>> +_scratch_mount
>>
>>  # -w ensures that the only ops are ones which cause write I/O
>>  run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p 5 -n 1000 \
>> @@ -53,14 +50,8 @@ run_check $FSSTRESS_PROG -d $SCRATCH_MNT/snap1 -w -p 5 -n 
>> 1000 \
>>  _run_btrfs_util_prog quota enable $SCRATCH_MNT
>>  _run_btrfs_util_prog quota rescan -w $SCRATCH_MNT
>>
>> -# remove all file/dir other than subvolume
>> -rm -rf $SCRATCH_MNT/snap1/* >& /dev/null
>> -rm -rf $SCRATCH_MNT/p* >& /dev/null
>> -
>> -_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
>> -units=`_btrfs_qgroup_units`
>> -$BTRFS_UTIL_PROG qgroup show $units $SCRATCH_MNT | $SED_PROG -n '/[0-9]/p' \
>> -       | $AWK_PROG '{print $2" "$3}'
>> +echo "Silence is golden"
>> +# btrfs check will detect any qgroup number mismatch.
>>
>>  status=0
>>  exit
>> diff --git a/tests/btrfs/057.out b/tests/btrfs/057.out
>> index 60cb92d0..185023c7 100644
>> --- a/tests/btrfs/057.out
>> +++ b/tests/btrfs/057.out
>> @@ -1,3 +1,2 @@
>>  QA output created by 057
>> -4096 4096
>> -4096 4096
>> +Silence is golden
>> --
>> 2.18.0
>>
> 
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to