1*86d7f5d3SJohn Marino#!/bin/sh
2*86d7f5d3SJohn Marino# Copyright (C) 2008 Red Hat, Inc. All rights reserved.
3*86d7f5d3SJohn Marino#
4*86d7f5d3SJohn Marino# This copyrighted material is made available to anyone wishing to use,
5*86d7f5d3SJohn Marino# modify, copy, or redistribute it subject to the terms and conditions
6*86d7f5d3SJohn Marino# of the GNU General Public License v.2.
7*86d7f5d3SJohn Marino#
8*86d7f5d3SJohn Marino# You should have received a copy of the GNU General Public License
9*86d7f5d3SJohn Marino# along with this program; if not, write to the Free Software Foundation,
10*86d7f5d3SJohn Marino# Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
11*86d7f5d3SJohn Marino
12*86d7f5d3SJohn Marinotest_description='Exercise some vgchange diagnostics'
13*86d7f5d3SJohn Marino
14*86d7f5d3SJohn Marino. ./test-utils.sh
15*86d7f5d3SJohn Marino
16*86d7f5d3SJohn Marinoaux prepare_pvs 3
17*86d7f5d3SJohn Marinopvcreate --metadatacopies 0 $dev1
18*86d7f5d3SJohn Marinovgcreate $vg $devs
19*86d7f5d3SJohn Marino
20*86d7f5d3SJohn Marinoget_vg_field() {
21*86d7f5d3SJohn Marino	local vg=$1
22*86d7f5d3SJohn Marino	local field=$2
23*86d7f5d3SJohn Marino	local value
24*86d7f5d3SJohn Marino	vgs --noheading -o $field $vg | sed 's/^ *//'
25*86d7f5d3SJohn Marino}
26*86d7f5d3SJohn Marino
27*86d7f5d3SJohn Marinovgdisplay $vg
28*86d7f5d3SJohn Marino
29*86d7f5d3SJohn Marino# vgchange -p MaxPhysicalVolumes (bz202232)
30*86d7f5d3SJohn Marinoaux check_vg_field_ $vg max_pv 0
31*86d7f5d3SJohn Marinovgchange -p 128 $vg
32*86d7f5d3SJohn Marinoaux check_vg_field_ $vg max_pv 128
33*86d7f5d3SJohn Marino
34*86d7f5d3SJohn Marinopv_count=$(get_vg_field $vg pv_count)
35*86d7f5d3SJohn Marinonot vgchange -p 2 $vg 2>err
36*86d7f5d3SJohn Marinogrep "MaxPhysicalVolumes is less than the current number $pv_count of PVs for" err
37*86d7f5d3SJohn Marinoaux check_vg_field_ $vg max_pv 128
38*86d7f5d3SJohn Marino
39*86d7f5d3SJohn Marino# vgchange -l MaxLogicalVolumes
40*86d7f5d3SJohn Marinoaux check_vg_field_ $vg max_lv 0
41*86d7f5d3SJohn Marinovgchange -l 128 $vg
42*86d7f5d3SJohn Marinoaux check_vg_field_ $vg max_lv 128
43*86d7f5d3SJohn Marino
44*86d7f5d3SJohn Marinolvcreate -l4 -n$lv1 $vg
45*86d7f5d3SJohn Marinolvcreate -l4 -n$lv2 $vg
46*86d7f5d3SJohn Marino
47*86d7f5d3SJohn Marinolv_count=$(get_vg_field $vg lv_count)
48*86d7f5d3SJohn Marinonot vgchange -l 1 $vg 2>err
49*86d7f5d3SJohn Marinogrep "MaxLogicalVolume is less than the current number $lv_count of LVs for"  err
50*86d7f5d3SJohn Marinoaux check_vg_field_ $vg max_lv 128
51*86d7f5d3SJohn Marino
52