186d7f5d3SJohn Marino#!/bin/sh 286d7f5d3SJohn Marino# Copyright (C) 2008 Red Hat, Inc. All rights reserved. 386d7f5d3SJohn Marino# 486d7f5d3SJohn Marino# This copyrighted material is made available to anyone wishing to use, 586d7f5d3SJohn Marino# modify, copy, or redistribute it subject to the terms and conditions 686d7f5d3SJohn Marino# of the GNU General Public License v.2. 786d7f5d3SJohn Marino# 886d7f5d3SJohn Marino# You should have received a copy of the GNU General Public License 986d7f5d3SJohn Marino# along with this program; if not, write to the Free Software Foundation, 1086d7f5d3SJohn Marino# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1186d7f5d3SJohn Marino 1286d7f5d3SJohn Marino. ./test-utils.sh 1386d7f5d3SJohn Marino 1486d7f5d3SJohn Marinoaux prepare_devs 3 1586d7f5d3SJohn Marinopvcreate $dev1 1686d7f5d3SJohn Marinopvcreate --metadatacopies 0 $dev2 1786d7f5d3SJohn Marinopvcreate --metadatacopies 2 $dev3 1886d7f5d3SJohn Marinopvremove $dev2 1986d7f5d3SJohn Marino 2086d7f5d3SJohn Marino# failing, but still removing everything what can be removed 2186d7f5d3SJohn Marino# is somewhat odd as default, what do we have -f for? 2286d7f5d3SJohn Marinopvs | not grep $dev2 2386d7f5d3SJohn Marinopvcreate --metadatacopies 0 $dev2 2486d7f5d3SJohn Marino 2586d7f5d3SJohn Marino# check pvremove refuses to remove pv in a vg 2686d7f5d3SJohn Marinovgcreate -c n $vg $dev1 $dev2 2786d7f5d3SJohn Marinonot pvremove $dev2 $dev3 2886d7f5d3SJohn Marino 2986d7f5d3SJohn Marinofor mdacp in 0 1 2; do 3086d7f5d3SJohn Marino # check pvremove truly wipes the label (pvscan wont find) (---metadatacopies $mdacp) 3186d7f5d3SJohn Marino pvcreate --metadatacopies $mdacp $dev3 3286d7f5d3SJohn Marino pvremove $dev3 3386d7f5d3SJohn Marino # try to remove agail - should fail cleanly 3486d7f5d3SJohn Marino not pvremove $dev3 3586d7f5d3SJohn Marino pvscan | not grep $dev3 3686d7f5d3SJohn Marino 3786d7f5d3SJohn Marino # bz179473 refuse to wipe non-PV device without -f 3886d7f5d3SJohn Marino not pvremove $dev3 3986d7f5d3SJohn Marino pvremove -f $dev3 4086d7f5d3SJohn Marino 4186d7f5d3SJohn Marino # reset setup 4286d7f5d3SJohn Marino vgremove -ff $vg 4386d7f5d3SJohn Marino pvcreate --metadatacopies $mdacp $dev1 4486d7f5d3SJohn Marino pvcreate $dev2 4586d7f5d3SJohn Marino vgcreate $vg $dev1 $dev2 4686d7f5d3SJohn Marino 4786d7f5d3SJohn Marino # pvremove -f fails when pv in a vg (---metadatacopies $mdacp) 4886d7f5d3SJohn Marino not pvremove -f $dev1 4986d7f5d3SJohn Marino pvs $dev1 5086d7f5d3SJohn Marino 5186d7f5d3SJohn Marino # pvremove -ff fails without confirmation when pv in a vg (---metadatacopies $mdacp) 5286d7f5d3SJohn Marino echo n | not pvremove -ff $dev1 5386d7f5d3SJohn Marino 5486d7f5d3SJohn Marino # pvremove -ff succeds with confirmation when pv in a vg (---metadatacopies $mdacp) 5586d7f5d3SJohn Marino yes | pvremove -ff $dev1 5686d7f5d3SJohn Marino not pvs $dev1 5786d7f5d3SJohn Marino 5886d7f5d3SJohn Marino vgreduce --removemissing $vg 5986d7f5d3SJohn Marino pvcreate --metadatacopies $mdacp $dev1 6086d7f5d3SJohn Marino vgextend $vg $dev1 6186d7f5d3SJohn Marino 6286d7f5d3SJohn Marino # pvremove -ff -y is sufficient when pv in a vg (---metadatacopies $mdacp)" ' 6386d7f5d3SJohn Marino echo n | pvremove -ff -y $dev1 6486d7f5d3SJohn Marino 6586d7f5d3SJohn Marino vgreduce --removemissing $vg 6686d7f5d3SJohn Marino pvcreate --metadatacopies $mdacp $dev1 6786d7f5d3SJohn Marino vgextend $vg $dev1 6886d7f5d3SJohn Marinodone 69