1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/test/lib/get.sh
Zdenek Kabelac cce2475889 Update test.sh check.sh utils.sh get.sh
Indent
Better shell usage
Function simplification
More usage of 'get' functions
Don't use valgrind tracing for check and get function (faster)
Update shell debugging (PS4, better stacktrace)
Support paths with spaces
Export SCRIPTNAME for external usage
Watch for dmeventd unexpectedly started during test
2012-03-16 12:59:43 +00:00

46 lines
1.1 KiB
Bash

#!/bin/sh
# Copyright (C) 2011-2012 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 v.2.
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# get.sh: get various values from volumes
#
# USAGE:
# get pv_field PV field [pvs params]
# get vg_field VG field [vgs params]
# get lv_field LV field [lvs params]
#
# get lv_devices LV [lvs params]
# trims only leading prefix, we should not need trim trailing spaces
trim_() {
#local var=${var%"${var##*[! ]}"} # remove trailing space characters
echo ${1#"${1%%[! ]*}"} # remove leading space characters
}
pv_field() {
trim_ "$(pvs --noheadings -o $2 ${@:3} $1)"
}
vg_field() {
trim_ "$(vgs --noheadings -o $2 ${@:3} $1)"
}
lv_field() {
trim_ "$(lvs --noheadings -o $2 ${@:3} $1)"
}
lv_devices() {
lv_field $1 devices -a "${@:2}" | sed 's/([^)]*)//g; s/,/ /g'
}
unset LVM_VALGRIND
"$@"