commit 4ec0e9dee4c46153d4fce2d8d7f4a2e959ba9034 parent f43bfe6e81e67b058174d4c6585fe31ad173a72a Author: Jan Pobrislo <ccx@webprojekty.cz> Date: Mon, 20 Apr 2015 14:12:40 +0200 create primary partitions Diffstat:
| M | zsh-functions/confz_fs_init | | | 28 | +++++++++++++++++++++++++++- |
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/zsh-functions/confz_fs_init b/zsh-functions/confz_fs_init @@ -65,6 +65,31 @@ confz_disklabel_dos_check() { } +# check for primary partition +confz_primary_partition_check() { + checkvars device number + defvar fs ext2 + require disklabel_dos :device + fs_parted_list + (( $+vars[size] || $+vars[end] )) || die "$0: requires either size or end" + if [[ $vars[number] != 1 ]]; then + (( $+fs_parted_start[$vars[number]-1] )) || \ + die "$0: missing preceding partition" + fi + [[ -n ${vars[start]:=${fs_parted_start[$vars[number]-1]:-}} ]] || \ + die "$0: start not specified and no preceding partition" + if ! (($+vars[end])); then + vars[end]=$[$vars[start]+$vars[size]] + fi + if (( $+fs_parted_start[$vars[number]] )); then + return 0 + else + do_command=( parted --script mkpart primary $vars[fs] $vars[start] $vars[end] ) + return 1 + fi +} + + # create swap partition confz_swap_check() { checkvars device @@ -106,6 +131,7 @@ confz_mdraid_check() { local -A level_map checkvars md_device raid_devices level + defvar metadata default devices=( ${(z)vars[raid_devices]} ) @@ -174,7 +200,7 @@ confz_mdraid_check() { if (($present)); then # empty labels - do_command=( mdadm --create -l $level -n $#devices $vars[md_device] $devices ) + do_command=( mdadm --create -l $level --metadata=$vars[metadata] -n $#devices $vars[md_device] $devices ) else # already created do_command=( mdadm --assemble $vars[md_device] $devices )