diff options
author | Richard Jones <rjones@redhat.com> | 2010-07-16 13:01:21 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-07-16 15:49:50 +0100 |
commit | d2cf9a15a9f22623dbbed33fb66c5077f1275df2 (patch) | |
tree | 53dff5d18deb2180df1adb2c010341c5907b1b0c /regressions | |
parent | 321ca1ef91a90cec5b94058b84420e8018e3f1d8 (diff) | |
download | libguestfs-d2cf9a15a9f22623dbbed33fb66c5077f1275df2.tar.gz libguestfs-d2cf9a15a9f22623dbbed33fb66c5077f1275df2.tar.xz libguestfs-d2cf9a15a9f22623dbbed33fb66c5077f1275df2.zip |
New APIs: lvm-set-filter and lvm-clear-filter.
These APIs allow you to change the device filter, the list of
block devices that LVM "sees". Either you can set it to a fixed
list of devices / partitions, or you can clear it so that LVM sees
everything.
Diffstat (limited to 'regressions')
-rw-r--r-- | regressions/Makefile.am | 1 | ||||
-rwxr-xr-x | regressions/test-lvm-filtering.sh | 92 |
2 files changed, 93 insertions, 0 deletions
diff --git a/regressions/Makefile.am b/regressions/Makefile.am index 385de458..ff003214 100644 --- a/regressions/Makefile.am +++ b/regressions/Makefile.am @@ -34,6 +34,7 @@ TESTS = \ test-cancellation-download-librarycancels.sh \ test-cancellation-upload-daemoncancels.sh \ test-find0.sh \ + test-lvm-filtering.sh \ test-lvm-mapping.pl \ test-noexec-stack.pl \ test-qemudie-killsub.sh \ diff --git a/regressions/test-lvm-filtering.sh b/regressions/test-lvm-filtering.sh new file mode 100755 index 00000000..d7c4e7c3 --- /dev/null +++ b/regressions/test-lvm-filtering.sh @@ -0,0 +1,92 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2010 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# 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., 675 Mass Ave, Cambridge, MA 02139, USA. + +# Test LVM device filtering. + +set -e + +rm -f test1.img test2.img + +actual=$(../fish/guestfish <<'EOF' +sparse test1.img 1G +sparse test2.img 1G + +run + +part-disk /dev/sda mbr +part-disk /dev/sdb mbr + +pvcreate /dev/sda1 +pvcreate /dev/sdb1 + +vgcreate VG1 /dev/sda1 +vgcreate VG2 /dev/sdb1 + +# Should see VG1 and VG2 +vgs + +# Should see just VG1 +lvm-set-filter /dev/sda +vgs +lvm-set-filter /dev/sda1 +vgs + +# Should see just VG2 +lvm-set-filter /dev/sdb +vgs +lvm-set-filter /dev/sdb1 +vgs + +# Should see VG1 and VG2 +lvm-set-filter "/dev/sda /dev/sdb" +vgs +lvm-set-filter "/dev/sda1 /dev/sdb1" +vgs +lvm-set-filter "/dev/sda /dev/sdb1" +vgs +lvm-set-filter "/dev/sda1 /dev/sdb" +vgs +lvm-clear-filter +vgs +EOF +) + +expected="VG1 +VG2 +VG1 +VG1 +VG2 +VG2 +VG1 +VG2 +VG1 +VG2 +VG1 +VG2 +VG1 +VG2 +VG1 +VG2" + +rm -f test1.img test2.img + +if [ "$actual" != "$expected" ]; then + echo "LVM filter test failed. Actual output was:" + echo "$actual" + exit 1 +fi |