1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/scripts/lvm2_cluster_activation_red_hat.sh.in
Peter Rajnoha 6a77b6f43c scripts: clvmd: replace awk functionality with LVM's selection
No need to use awk now to get appropriate VGs/LVs, use LVM's
own --select - it's quicker, it removes a need for external
dependency on awk and it's also more readable.
2015-01-09 16:41:07 +01:00

63 lines
1.4 KiB
Bash

#!/bin/bash
sbindir=@sbindir@
lvm_vgchange=${sbindir}/vgchange
lvm_vgscan=${sbindir}/vgscan
lvm_vgs=${sbindir}/vgs
lvm_lvm=${sbindir}/lvm
clustered_vgs() {
${lvm_vgs} --noheadings -o vg_name -S 'vg_clustered=1' 2>/dev/null
}
activate() {
eval local $(${lvm_lvm} dumpconfig devices/obtain_device_list_from_udev 2>/dev/null) 2>/dev/null
if [ $? -ne 0 ]; then
echo "Warning: expected single couple of key=value in output of dumpconfig"
fi
if [ -z $obtain_device_list_from_udev -o $obtain_device_list_from_udev -ne 1 ]; then
echo -n "lvm.conf option obtain_device_list_from_udev!=1: Executing vgscan"
${lvm_vgscan} > /dev/null 2>&1
fi
echo -n "Activating ${LVM_VGS:-"all VG(s)"}: "
# Respect activation/auto_activation_volume_list!
# Call "-aay" which is equal to "-aly" but respects this list.
${lvm_vgchange} -aay $LVM_VGS || return 1
return 0
}
deactivate()
{
# NOTE: following section will be replaced by blkdeactivate script
# with option supporting request to deactivate all clustered volume
# groups in the system
[ -z $LVM_VGS ] && LVM_VGS="$(clustered_vgs)"
if [ -n "$LVM_VGS" ]; then
echo -n "Deactivating clustered VG(s): "
${lvm_vgchange} -anl $LVM_VGS || return 1
fi
return 0
}
case "$1" in
deactivate)
deactivate
rtrn=$?
;;
activate)
activate
rtrn=$?
;;
*)
echo $"Usage: $0 {activate|deactivate}"
rtrn=3
;;
esac
exit $rtrn