Files
apfstests/tests/btrfs/023
T
Jeff Mahoney 33cd745db0 btrfs/023: skip trying to test raid56 without kernel support
Older kernels don't support raid56.  This test is still valid for
other profiles, so skip raid56 if the kernel doesn't support it.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2019-01-27 13:30:35 +08:00

78 lines
1.5 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2013 Oracle. All Rights Reserved.
#
# FS QA Test No. 023
#
# Test to verify if the group profile is created
#
# The test aims to create the raid and verify that its created
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
# real QA test starts here
_supported_fs btrfs
_supported_os Linux
_require_scratch_dev_pool 4
rm -f $seqres.full
create_group_profile()
{
local mkfs_options="-d$1 -m$1"
_scratch_pool_mkfs $mkfs_options >> $seqres.full 2>&1 || _fail "mkfs failed"
}
check_group_profile()
{
local test_raid="$1"
_scratch_mount
$BTRFS_UTIL_PROG filesystem df $SCRATCH_MNT > $tmp.tmp 2>&1
_scratch_unmount
cat $tmp.tmp >> $seqres.full
grep Data $tmp.tmp | grep -q "${test_raid}:"
[ $? -eq 0 ] || _fail "$test_raid not found for Data"
grep Metadata $tmp.tmp | grep -q "${test_raid}:"
[ $? -eq 0 ] || _fail "$test_raid not found for Metadata"
}
create_group_profile "raid0"
check_group_profile "RAID0"
create_group_profile "raid1"
check_group_profile "RAID1"
create_group_profile "raid10"
check_group_profile "RAID10"
if [ -e "/sys/fs/btrfs/features/raid56" ]; then
create_group_profile "raid5"
check_group_profile "RAID5"
create_group_profile "raid6"
check_group_profile "RAID6"
fi
# success, all done
echo "Silence is golden"
status=0
exit