mirror of
git://sourceware.org/git/lvm2.git
synced 2025-02-08 09:57:55 +03:00
Fix kernel version parsing in tests, use common function.
This commit is contained in:
parent
bb685d4e6c
commit
4abb15db5f
@ -13,8 +13,7 @@
|
|||||||
|
|
||||||
. lib/test
|
. lib/test
|
||||||
|
|
||||||
linux_minor=$(echo `uname -r` | cut -d'.' -f3 | cut -d'-' -f1)
|
kernel_at_least 2 6 33 || skip
|
||||||
test $linux_minor -le 32 && skip
|
|
||||||
|
|
||||||
aux prepare_devs 2
|
aux prepare_devs 2
|
||||||
vgcreate -c n -s 4k $vg $(cat DEVICES)
|
vgcreate -c n -s 4k $vg $(cat DEVICES)
|
||||||
|
@ -152,6 +152,23 @@ skip() {
|
|||||||
exit 200
|
exit 200
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kernel_at_least() {
|
||||||
|
major=$(uname -r |cut -d. -f1)
|
||||||
|
minor=$(uname -r |cut -d. -f2 | cut -d- -f1)
|
||||||
|
|
||||||
|
test $major -gt $1 && return 0
|
||||||
|
test $major -lt $1 && return 1
|
||||||
|
test $minor -gt $2 && return 0
|
||||||
|
test $minor -lt $2 && return 1
|
||||||
|
test -z "$3" && return 0
|
||||||
|
|
||||||
|
minor2=$(uname -r | cut -d. -f3)
|
||||||
|
test -z "$minor2" && return 0
|
||||||
|
test $minor2 -ge $3 2>/dev/null && return 0
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
. lib/paths || { echo >&2 you must run make first; exit 1; }
|
. lib/paths || { echo >&2 you must run make first; exit 1; }
|
||||||
|
|
||||||
PATH=$abs_top_builddir/test/lib:$PATH
|
PATH=$abs_top_builddir/test/lib:$PATH
|
||||||
|
@ -70,12 +70,10 @@ pvcreate --metadatasize 128k \
|
|||||||
$mddev
|
$mddev
|
||||||
check pv_field $mddev pe_start $pv_align
|
check pv_field $mddev pe_start $pv_align
|
||||||
|
|
||||||
# Get linux minor version
|
|
||||||
linux_minor=$(echo `uname -r` | cut -d'.' -f3 | cut -d'-' -f1)
|
|
||||||
|
|
||||||
# Test newer topology-aware alignment detection
|
# Test newer topology-aware alignment detection
|
||||||
# - first added to 2.6.31 but not "reliable" until 2.6.33
|
# - first added to 2.6.31 but not "reliable" until 2.6.33
|
||||||
if [ $linux_minor -ge 33 ]; then
|
if kernel_at_least 2 6 33 ; then
|
||||||
pv_align="1.00m"
|
pv_align="1.00m"
|
||||||
# optimal_io_size=131072, minimum_io_size=65536
|
# optimal_io_size=131072, minimum_io_size=65536
|
||||||
pvcreate --metadatasize 128k \
|
pvcreate --metadatasize 128k \
|
||||||
@ -84,7 +82,7 @@ if [ $linux_minor -ge 33 ]; 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 -ge 28 ]; then
|
if kernel_at_least 2 6 28 ; then
|
||||||
# create one partition
|
# create one partition
|
||||||
sfdisk $mddev <<EOF
|
sfdisk $mddev <<EOF
|
||||||
,,83
|
,,83
|
||||||
@ -111,11 +109,11 @@ EOF
|
|||||||
# Checking for 'alignment_offset' in sysfs implies Linux >= 2.6.31
|
# Checking for 'alignment_offset' in sysfs implies Linux >= 2.6.31
|
||||||
# but reliable alignment_offset support requires kernel.org Linux >= 2.6.33
|
# but reliable alignment_offset support requires kernel.org Linux >= 2.6.33
|
||||||
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 -a $linux_minor -ge 33 ] && \
|
[ -f $sysfs_alignment_offset ] && kernel_at_least 2 6 33 && \
|
||||||
alignment_offset=`cat $sysfs_alignment_offset` || \
|
alignment_offset=`cat $sysfs_alignment_offset` || \
|
||||||
alignment_offset=0
|
alignment_offset=0
|
||||||
|
|
||||||
if [ $alignment_offset -gt 0 ]; then
|
if [ $alignment_offset -gt 0 ]; then
|
||||||
# default alignment is 1M, add alignment_offset
|
# default alignment is 1M, add alignment_offset
|
||||||
pv_align=$((1048576+$alignment_offset))B
|
pv_align=$((1048576+$alignment_offset))B
|
||||||
pvcreate --metadatasize 128k $mddev_p
|
pvcreate --metadatasize 128k $mddev_p
|
||||||
@ -125,7 +123,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Test newer topology-aware alignment detection w/ --dataalignment override
|
# Test newer topology-aware alignment detection w/ --dataalignment override
|
||||||
if [ $linux_minor -ge 33 ]; then
|
if kernel_at_least 2 6 33 ; then
|
||||||
cleanup_md
|
cleanup_md
|
||||||
pvcreate -f $dev1
|
pvcreate -f $dev1
|
||||||
pvcreate -f $dev2
|
pvcreate -f $dev2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user