24f846cea4
Now it doesn't have the tests directory, so the gating test fails. This is used to support the last commit. And it uses the same bugs from the last commit. Resolves: rhbz#2116418, rhbz#2150862, rhbz#2159584 Signed-off-by: Xiao Ni <xni@redhat.com>
141 lines
3.3 KiB
Bash
Executable File
141 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
#
|
|
# runtest.sh of /tests/kernel/storage/mdadm/trim-support
|
|
# Description: test the function trim support.
|
|
# Author: Xiao Ni <xni@redhat.com>
|
|
#
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
#
|
|
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This copyrighted material is made available to anyone wishing
|
|
# to use, modify, copy, or redistribute it subject to the terms
|
|
# and conditions of the GNU General Public License version 2.
|
|
#
|
|
# This program is distributed in the hope that it will be
|
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
# PURPOSE. See the GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public
|
|
# License along with this program; if not, write to the Free
|
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
# Boston, MA 02110-1301, USA.
|
|
#
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
#set -x
|
|
# Include Beaker environment
|
|
. /usr/bin/rhts-environment.sh
|
|
. /usr/lib/beakerlib/beakerlib.sh
|
|
|
|
# Include Storage related environment
|
|
. include.sh || exit 200
|
|
|
|
function Stop_Raid (){
|
|
tok mdadm --stop "$MD_RAID"
|
|
if [ $? -ne 0 ]; then
|
|
tlog "FAIL: fail to stop md raid $MD_RAID."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
function runtest (){
|
|
|
|
# tok rmmod raid456
|
|
tok modprobe raid456 devices_handle_discard_safely=Y
|
|
tok "echo Y >/sys/module/raid456/parameters/devices_handle_discard_safely"
|
|
# info=`cat /etc/redhat-release | grep -oE "7.2|7.3"`
|
|
# if [ -n "$info" ]; then
|
|
trun "modprobe raid0 devices_discard_performance=Y"
|
|
trun "echo Y >/sys/module/raid0/parameters/devices_discard_performance"
|
|
# fi
|
|
devlist=''
|
|
|
|
which mkfs.xfs
|
|
if [ $? -eq 0 ]; then
|
|
FILESYS="xfs"
|
|
else
|
|
FILESYS="ext4"
|
|
fi
|
|
|
|
disk_num=6
|
|
#disk size M
|
|
disk_size=500
|
|
get_disks $disk_num $disk_size
|
|
devlist=$RETURN_STR
|
|
|
|
if [ $JOURNAL_SUPPORT -eq 1 ]; then
|
|
RAID_LIST="0 1 4 5 6 4-j 5-j 6-j 10"
|
|
else
|
|
RAID_LIST="0 1 4 5 6 10"
|
|
fi
|
|
for level in $RAID_LIST; do
|
|
|
|
RETURN_STR=''
|
|
MD_RAID=''
|
|
MD_DEV_LIST=''
|
|
raid_num=5
|
|
if [ "$level" = "0" ];then
|
|
spare_num=0
|
|
bitmap=0
|
|
else
|
|
spare_num=1
|
|
bitmap=1
|
|
fi
|
|
|
|
if [[ $level =~ "j" ]]; then
|
|
MD_Create_RAID_Journal ${level:0:1} "$devlist" $raid_num $bitmap $spare_num
|
|
else
|
|
MD_Create_RAID $level "$devlist" $raid_num $bitmap $spare_num
|
|
fi
|
|
|
|
if [ $? -ne 0 ];then
|
|
tlog "FAIL: Failed to create md raid $RETURN_STR"
|
|
break
|
|
else
|
|
tlog "INFO: Successfully created md raid $RETURN_STR"
|
|
fi
|
|
|
|
MD_RAID=$RETURN_STR
|
|
|
|
MD_Get_State_RAID $MD_RAID
|
|
state=$RETURN_STR
|
|
|
|
while [[ $state != "active" && $state != "clean" ]]; do
|
|
sleep 5
|
|
MD_Get_State_RAID $MD_RAID
|
|
state=$RETURN_STR
|
|
done
|
|
|
|
tlog "mkfs -t $FILESYS $MD_RAID"
|
|
(mkfs -t $FILESYS $MD_RAID) || (mkfs -t $FILESYS -f $MD_RAID)
|
|
if [ ! -d /mnt/md_test ]; then
|
|
mkdir /mnt/md_test
|
|
fi
|
|
tok mount -t $FILESYS $MD_RAID /mnt/md_test
|
|
tok fstrim -v /mnt/md_test
|
|
if [ $? -ne 0 ];then
|
|
tlog "fstrim -v /mnt/md_test failed"
|
|
fi
|
|
|
|
tok umount $MD_RAID
|
|
MD_Clean_RAID $MD_RAID
|
|
|
|
done
|
|
|
|
remove_disks "$devlist"
|
|
if [ $? -ne 0 ];then
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
|
|
tlog "running $0"
|
|
trun "rpm -q mdadm || yum install -y mdadm"
|
|
trun "uname -a"
|
|
runtest
|
|
|
|
tend
|