1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-02-09 13:57:55 +03:00

update test/t-pvcreate-operation-md.sh attempt loading raid0.ko if raid0

isn't already available (in /proc/mdstat).

switch to requiring 2.6.33 for the alignment_offset tests; 2.6.{31,32}
alignment_offset values aren't reliable.  2.6.33 _should_ have mkp's
alignment_offset fixes but so far it doesn't (as of 2.6.33-rc4).
This commit is contained in:
Mike Snitzer 2010-01-19 15:59:34 +00:00
parent 8ecc1eb99d
commit e449bfd741

View File

@ -14,7 +14,9 @@ which sfdisk || exit 200
which perl || exit 200 which perl || exit 200
which awk || exit 200 which awk || exit 200
which cut || exit 200 which cut || exit 200
test -f /proc/mdstat || exit 200
test -f /proc/mdstat && grep -q raid0 /proc/mdstat || \
modprobe raid0 || exit 200
. ./test-utils.sh . ./test-utils.sh
@ -66,7 +68,8 @@ check_pv_field_ $mddev pe_start $pv_align
linux_minor=$(echo `uname -r` | cut -d'.' -f3 | cut -d'-' -f1) linux_minor=$(echo `uname -r` | cut -d'.' -f3 | cut -d'-' -f1)
# Test newer topology-aware alignment detection # Test newer topology-aware alignment detection
if [ $linux_minor -gt 31 ]; then # - first added to 2.6.31 but not "reliable" until 2.6.33
if [ $linux_minor -ge 33 ]; then
pv_align="256.00k" pv_align="256.00k"
pvcreate --metadatasize 128k \ pvcreate --metadatasize 128k \
--config 'devices { md_chunk_alignment=0 }' $mddev --config 'devices { md_chunk_alignment=0 }' $mddev
@ -74,7 +77,7 @@ if [ $linux_minor -gt 31 ]; then
fi fi
# partition MD array directly, depends on blkext in Linux >= 2.6.28 # partition MD array directly, depends on blkext in Linux >= 2.6.28
if [ $linux_minor -gt 27 ]; then if [ $linux_minor -ge 28 ]; then
# create one partition # create one partition
sfdisk $mddev <<EOF sfdisk $mddev <<EOF
,,83 ,,83
@ -95,7 +98,7 @@ EOF
# Checking for 'alignment_offset' in sysfs implies Linux >= 2.6.31 # Checking for 'alignment_offset' in sysfs implies Linux >= 2.6.31
sysfs_alignment_offset=/sys/dev/block/${mddev_maj_min}/${base_mddev_p}/alignment_offset sysfs_alignment_offset=/sys/dev/block/${mddev_maj_min}/${base_mddev_p}/alignment_offset
[ -f $sysfs_alignment_offset ] && \ [ -f $sysfs_alignment_offset -a $linux_minor -ge 33 ] && \
alignment_offset=`cat $sysfs_alignment_offset` || \ alignment_offset=`cat $sysfs_alignment_offset` || \
alignment_offset=0 alignment_offset=0