#---------- common functions
+lvmunmapperdevice () {
+ # turns device=/dev/mapper/... into /dev/<group>/<volume>
+ case "$device" in
+ /dev/mapper/*)
+ device="`printf '%s' "$device" | perl -pe '
+ s,^/dev/mapper/,,;
+ die if m,/,;
+ s,\-\-,!,g;
+ s,\-,/,g;
+ s,\!,-,g;
+ s,^,/dev/,;
+ '`"
+ ;;
+ esac
+}
+
+lvmdevice2vgroup () {
+ vgroup="${device#/dev/}"
+ vgroup="${vgroup%/*}"
+}
+
lvmdropcore () {
snmnt="$vardir/snap-mount"
umount -v "$snmnt" || true
- test ! -d "$snmnt" || rmdir -- "$snmnt"
+ test ! -d "$snmnt" || rmdir -- "$snmnt" || rm -f "$snmnt"
set +e
old_lv_dev="$(readlink $vardir/snap-device)"
}
lvmextentscore1 () {
+ # vgroup must be set
vgdisplay_out="$(really vgdisplay -c "$vgroup")"
extents="$(printf "%s" "$vgdisplay_out" | awk -F: '{print $16}')"
extsize="$(printf "%s" "$vgdisplay_out" | awk -F: '{print $13}')"
}
lvmcreatecore1 () {
+ # vgroup must be set
lvpath="/dev/$vgroup/$lvm_lv"
ln -s -- "$lvpath" "$vardir"/snap-device
sync