#! /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