diff options
| author | rbalocca <rbalocca@vyatta.com> | 2008-10-28 14:49:35 -0700 | 
|---|---|---|
| committer | rbalocca <rbalocca@vyatta.com> | 2008-10-28 14:49:35 -0700 | 
| commit | 3939e96a8830755228bd2bbedb50db6808d36f80 (patch) | |
| tree | 6c55ccb42447ad90946ee6157dab49e573ec92d2 /scripts/local-top/lvm | |
| download | initramfs-tools-3939e96a8830755228bd2bbedb50db6808d36f80.tar.gz initramfs-tools-3939e96a8830755228bd2bbedb50db6808d36f80.zip  | |
initramfs-tools-0.92j from mirrrors.kernel.orgdebian/0.92j
Diffstat (limited to 'scripts/local-top/lvm')
| -rwxr-xr-x | scripts/local-top/lvm | 74 | 
1 files changed, 74 insertions, 0 deletions
diff --git a/scripts/local-top/lvm b/scripts/local-top/lvm new file mode 100755 index 0000000..4cf48ad --- /dev/null +++ b/scripts/local-top/lvm @@ -0,0 +1,74 @@ +#!/bin/sh + +PREREQ="mdadm mdrun lvm2" + +prereqs() +{ +	echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) +	prereqs +	exit 0 +	;; +esac + +activate_vg() +{ +	local vg="$1" + +	# Make sure that we have a non-empty argument +	if [ -z "${vg}" ]; then +		return 1 +	fi + +	# Take care of lilo boot arg, risky activating of all vg +	case $vg in +	fe[0-9]*) +		vgchange -ay +		exit 0 +		;; +	# FIXME: check major +	/dev/root) +		vgchange -ay +		exit 0 +		;; +	esac + +	# Make sure that we have a d-m path +	vg=${vg#/dev/mapper/} +	if [ "$vg" = "$1" ]; then +		return 1 +	fi + +	# Make sure that the device includes at least one dash +	if [ "$(echo -n "$vg" | tr -d -)" = "$vg" ]; then +		return 1 +	fi + +	# Split volume group from logical volume. +	vg=$(echo ${vg} | sed -e 's#\(.*\)\([^-]\)-[^-].*#\1\2#') +	# Reduce padded --'s to -'s +	vg=$(echo ${vg} | sed -e 's#--#-#g') + +	vgchange -ay ${vg} +} + +if [ -e /scripts/local-top/lvm2 ]; then +	exit 0 +fi + +if [ ! -e /sbin/vgchange ]; then +	exit 0 +fi + +modprobe dm-mod +modprobe dm-snapshot +modprobe dm-mirror + +activate_vg "$ROOT" +activate_vg "$resume" + +exit 0  | 
