: ${DIST="ArchLabs"}
-VER="2.0.60" # installer version
+VER="2.0.61" # installer version
MNT="/mnt" # install mountpoint
ANS="/tmp/ans" # dialog answer file
is_bg_install || return 1
lvm_detect
local choice
- dlg choice menu "Logical Volume Management" "$_lvmmenu" \
- "$_lvmnew" "vgcreate -f, lvcreate -L -n" \
- "$_lvmdel" "vgremove -f" \
- "$_lvmdelall" "lvrmeove, vgremove, pvremove -f" \
- "back" "return to the main menu"
-
- case "$choice" in
- "$_lvmnew") lvm_create || return 1 ;;
- "$_lvmdel") lvm_delgroup && yesno "$_lvmdel" "$_lvmdelask" && vgremove -f "$DEL_VG" >/dev/null 2>&1 ;;
- "$_lvmdelall") lvm_del_all ;;
- esac
+ while :; do
+ dlg choice menu "Logical Volume Management" "$_lvmmenu" \
+ "$_lvmnew" "vgcreate -f, lvcreate -L -n" \
+ "$_lvmdel" "vgremove -f" \
+ "$_lvmdelall" "lvrmeove, vgremove, pvremove -f" \
+ "back" "return to the main menu"
+ case "$choice" in
+ "$_lvmnew") lvm_create ;;
+ "$_lvmdel") lvm_delgroup && yesno "$_lvmdel" "$_lvmdelask" && vgremove -f "$DEL_VG" >/dev/null 2>&1 ;;
+ "$_lvmdelall") lvm_del_all ;;
+ *) break ;;
+ esac
+ done
return 0
}
umount_dir $MNT
lvm_mkgroup || return 1
local txt="\nThe last (or only) logical volume will automatically use all remaining space in the volume group."
- dlg VOL_COUNT menu "$_lvmnew" "\nSelect the number of logical volumes (LVs) to create in: $VGROUP\n$txt" 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9
+ dlg VOL_COUNT menu "$_lvmnew" "\nSelect the number of logical volumes (LVs) to create in: $VGROUP\n$txt" 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -
[[ $VOL_COUNT ]] || return 1
lvm_extra_lvs || return 1
lvm_volume_name "$_lvmlvname\nNOTE: This LV will use up all remaining space in the volume group (${VGROUP_MB}MB)" || return 1
yesno "$_lvmnew" "\nConfirm creation of volume group: $VGROUP\n\nwith the following partition(s): $LVM_PARTS\n" && named=true
done
- msg "$_lvmnew" "\nCreating group: $VGROUP (${SIZE}$SIZE_UNIT)\n" 0
+ msg "$_lvmnew" "\nCreating group: $VGROUP\n" 0
vgcreate -f "$VGROUP" $LVM_PARTS >/dev/null 2>$ERR
errshow "vgcreate -f $VGROUP $LVM_PARTS" || return 1
fi
msg "$_lvmnew" "\nVolume group: $VGROUP (${SIZE}$SIZE_UNIT) has been created\n"
- return 0
}
lvm_del_all()
for i in $(lvs --noheadings | awk '{print $2}' | uniq); do
VOL_GROUP_LIST+="$i $(vgdisplay "$i" | awk '/VG Size/ {print $3$4}') "
done
+
[[ $VOL_GROUP_LIST ]] || { msg "No Groups" "\nNo volume groups found."; return 1; }
dlg DEL_VG menu "Logical Volume Management" "\nSelect volume group to delete.\n\nAll logical volumes within will also be deleted." $VOL_GROUP_LIST