3 # $NetBSD: lvm,v 1.4 2009/04/13 18:48:14 haad Exp $
20 if [ -x /sbin
/dmsetup
]; then
21 /sbin
/dmsetup version
>/dev
/null
23 warn
"Device-mapper not present in kernel"
28 if [ -x /sbin
/lvm
]; then
29 echo "Configuring lvm devices."
31 # Scan for all available VG's
32 /sbin
/lvm vgscan
--mknodes --ignorelockingfailure >/dev
/null
34 # Activate all LV's and create appropriate nodes in /dev
35 /sbin
/lvm vgchange
--ignorelockingfailure -a y
>/dev
/null
36 LV_LIST
=$
(/sbin
/lvm vgdisplay
-C -o vg_name
--noheadings 2>/dev
/null
)
37 echo " Activated Volume Groups:" $LV_LIST
43 if [ -x /sbin
/dmsetup
]; then
44 /sbin
/dmsetup version
>/dev
/null
46 warn
"Device-mapper not present in kernel"
51 if [ -x /sbin
/lvm
]; then
52 echo "Unconfiguring lvm devices."
54 LOGICAL_VOLUMES
=$
(/sbin
/lvm lvdisplay
-C -o vg_name
,lv_name \
55 -O vg_name
--separator \
/ --noheadings 2>/dev
/null
)
56 VOLUME_GROUPS
=$
(/sbin
/lvm vgdisplay
-C -o vg_name \
57 --separator " " --noheadings 2>/dev
/null
)
59 for lv
in ${LOGICAL_VOLUMES}; do
60 LV_IS_ACTIVE
=$
(/sbin
/lvm lvdisplay
-C --noheadings \
64 echo " Shutting Down logical volume: ${lv}"
65 /sbin
/lvm lvchange
-an --ignorelockingfailure \
71 for vg
in ${VOLUME_GROUPS}; do
72 # Set IFS to field separator
74 set -- $
(/sbin
/lvm vgdisplay
-cA ${vg} 2>/dev
/null
)
75 # The seventh parameter is number of opened LVs in a Volume Group
79 if [ "${VG_HAS_ACTIVE_LV}" = 0 ]; then
80 echo " Shutting Down volume group: ${vg}"
81 /sbin
/lvm vgchange
-an --ignorelockingfailure \