mbox series

[0/5] fstests: add checks for testing zoned btrfs

Message ID 20210521045825.1720305-1-naohiro.aota@wdc.com (mailing list archive)
Headers show
Series fstests: add checks for testing zoned btrfs | expand

Message

Naohiro Aota May 21, 2021, 4:58 a.m. UTC
Several tests are failing on zoned btrfs, but actually they are
invalid. There are two reasons of the failures. One is creating too
small filesystem. Since zoned btrfs needs at lease 5 zones (= 1.25 GB
if zone size = 256MB) to create a filesystem, tests creating e.g., 1
GB filesystem will fail.

The other reason is lacking of zone support of some dm targets and
loop device. So, they need to skip the test if the testing device is
zoned.

Patches 1 to 3 handle the too small file system failure.

And, patches 4 and 5 add checks for tests requiring non-zoned devices.

Naohiro Aota (5):
  common/rc: introduce minimal fs size check
  btrfs/057: use _scratch_mkfs_sized to set filesystem size
  btrfs: add minimal file system size check
  common: add zoned block device checks
  shared/032: add check for zoned block device

 README            |  4 ++++
 common/dmerror    |  3 +++
 common/dmhugedisk |  3 +++
 common/rc         | 15 +++++++++++++++
 tests/btrfs/057   |  2 +-
 tests/btrfs/141   |  1 +
 tests/btrfs/142   |  1 +
 tests/btrfs/143   |  1 +
 tests/btrfs/150   |  1 +
 tests/btrfs/151   |  1 +
 tests/btrfs/156   |  1 +
 tests/btrfs/157   |  1 +
 tests/btrfs/158   |  1 +
 tests/btrfs/175   |  1 +
 tests/shared/032  |  2 ++
 15 files changed, 37 insertions(+), 1 deletion(-)

Comments

Johannes Thumshirn May 21, 2021, 10:17 a.m. UTC | #1
On 21/05/2021 06:58, Naohiro Aota wrote:
> Several tests are failing on zoned btrfs, but actually they are
> invalid. There are two reasons of the failures. One is creating too
> small filesystem. Since zoned btrfs needs at lease 5 zones (= 1.25 GB
> if zone size = 256MB) to create a filesystem, tests creating e.g., 1
> GB filesystem will fail.
> 
> The other reason is lacking of zone support of some dm targets and
> loop device. So, they need to skip the test if the testing device is
> zoned.
> 
> Patches 1 to 3 handle the too small file system failure.
> 
> And, patches 4 and 5 add checks for tests requiring non-zoned devices.
> 
> Naohiro Aota (5):
>   common/rc: introduce minimal fs size check
>   btrfs/057: use _scratch_mkfs_sized to set filesystem size
>   btrfs: add minimal file system size check
>   common: add zoned block device checks
>   shared/032: add check for zoned block device
> 
>  README            |  4 ++++
>  common/dmerror    |  3 +++
>  common/dmhugedisk |  3 +++
>  common/rc         | 15 +++++++++++++++
>  tests/btrfs/057   |  2 +-
>  tests/btrfs/141   |  1 +
>  tests/btrfs/142   |  1 +
>  tests/btrfs/143   |  1 +
>  tests/btrfs/150   |  1 +
>  tests/btrfs/151   |  1 +
>  tests/btrfs/156   |  1 +
>  tests/btrfs/157   |  1 +
>  tests/btrfs/158   |  1 +
>  tests/btrfs/175   |  1 +
>  tests/shared/032  |  2 ++
>  15 files changed, 37 insertions(+), 1 deletion(-)
> 

For the whole series:
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Tested-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Johannes Thumshirn May 21, 2021, 11:06 a.m. UTC | #2
On 21/05/2021 12:17, Johannes Thumshirn wrote:
> On 21/05/2021 06:58, Naohiro Aota wrote:
>> Several tests are failing on zoned btrfs, but actually they are
>> invalid. There are two reasons of the failures. One is creating too
>> small filesystem. Since zoned btrfs needs at lease 5 zones (= 1.25 GB
>> if zone size = 256MB) to create a filesystem, tests creating e.g., 1
>> GB filesystem will fail.
>>
>> The other reason is lacking of zone support of some dm targets and
>> loop device. So, they need to skip the test if the testing device is
>> zoned.
>>
>> Patches 1 to 3 handle the too small file system failure.
>>
>> And, patches 4 and 5 add checks for tests requiring non-zoned devices.
>>
>> Naohiro Aota (5):
>>   common/rc: introduce minimal fs size check
>>   btrfs/057: use _scratch_mkfs_sized to set filesystem size
>>   btrfs: add minimal file system size check
>>   common: add zoned block device checks
>>   shared/032: add check for zoned block device
>>
>>  README            |  4 ++++
>>  common/dmerror    |  3 +++
>>  common/dmhugedisk |  3 +++
>>  common/rc         | 15 +++++++++++++++
>>  tests/btrfs/057   |  2 +-
>>  tests/btrfs/141   |  1 +
>>  tests/btrfs/142   |  1 +
>>  tests/btrfs/143   |  1 +
>>  tests/btrfs/150   |  1 +
>>  tests/btrfs/151   |  1 +
>>  tests/btrfs/156   |  1 +
>>  tests/btrfs/157   |  1 +
>>  tests/btrfs/158   |  1 +
>>  tests/btrfs/175   |  1 +
>>  tests/shared/032  |  2 ++
>>  15 files changed, 37 insertions(+), 1 deletion(-)
>>
> 
> For the whole series:
> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Tested-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> 

Spoke too early, I've only tested with a zoned device. I get the 
following splat with non zoned btrfs:

btrfs/146       - output mismatch (see /home/johannes/src/xfstests-dev/results//btrfs/146.out.bad)                                                                                                                                                                                                                                                                          
    --- tests/btrfs/146.out     2020-01-07 15:49:53.000000000 +0000                                                                                                                                                                                                                                                                                                         
    +++ /home/johannes/src/xfstests-dev/results//btrfs/146.out.bad      2021-05-21 09:56:43.963914581 +0000                                                                                                                                                                                                                                                                 
    @@ -1,3 +1,5 @@                                                                                                                                                                                                                                                                                                                                                         
     QA output created by 146                                                                                                                                                                                                                                                                                                                                               
     Format and mount                                                                                                                                                                                                                                                                                                                                                       
    +./common/dmerror: line 20: _require_non_zoned_device: command not found                                                                                                                                                                                                                                                                                                
    +./common/dmerror: line 20: _require_non_zoned_device: command not found                                                                                                                                                                                                                                                                                                
     Test passed!                                                                                                                                                                                                                                                                                                                                                           
    ...                                                                                                                                                                                                                                                                                                                                                                     
    (Run 'diff -u /home/johannes/src/xfstests-dev/tests/btrfs/146.out /home/johannes/src/xfstests-dev/results//btrfs/146.out.bad'  to see the entire diff)