---
 src/core/libs/lib-blockdevices-filesystems.sh |    1 +
 src/core/libs/lib-ui-interactive.sh           |   26 +++++++++++++++++-------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/core/libs/lib-blockdevices-filesystems.sh 
b/src/core/libs/lib-blockdevices-filesystems.sh
index 13160c9..5bf554b 100644
--- a/src/core/libs/lib-blockdevices-filesystems.sh
+++ b/src/core/libs/lib-blockdevices-filesystems.sh
@@ -830,6 +830,7 @@ process_filesystem ()
                sleep 2
        fi
 
+       # Labeling is an extra step because we allow this to be done on 
existing filesystems
        if [ -n "$fs_label" ] && check_is_in $fs_type "${!label_programs[@]}"
        then
                program="${label_programs[$fs_type]}"
diff --git a/src/core/libs/lib-ui-interactive.sh 
b/src/core/libs/lib-ui-interactive.sh
index 1600cef..22d44a3 100644
--- a/src/core/libs/lib-ui-interactive.sh
+++ b/src/core/libs/lib-ui-interactive.sh
@@ -441,15 +441,25 @@ interactive_filesystem ()
                fi
 
                # ask label, if relevant
-               if [ "$fs_create" == yes ] && check_is_in "$fs_type" 
"${fs_label_mandatory[@]}"
+               if check_is_in "$fs_type" "${fs_label_mandatory[@]}" 
"${fs_label_optional[@]}"
                then
-                       default="$fs_label" # can be empty
-                       ask_string "Enter the label/name for this $fs_type on 
$part (Mandatory for this type of FS!)" "$default" || return 1 #TODO: check 
that you can't give LV's labels that have been given already or the installer 
will break.
-                       fs_label=$ANSWER_STRING
-               elif [ "$fs_create" == yes ] && check_is_in "$fs_type" 
"${fs_label_optional[@]}"
-               then
-                       default="$fs_label" # can be empty
-                       ask_string "Enter the label for this $fs_type on $part 
(optional) [keep it short and don't use spaces]" "$default" 0
+                       if [ -n "$fs_label" ]
+                       then
+                               default="$fs_label"
+                       else
+                               default="$(getlabel $part)"
+                       fi
+                       if [ "$fs_create" == yes ]
+                       then
+                               local string="Enter the label/name for this 
$fs_type on $part"
+                       else
+                               local string="You can change the label/name for 
this $fs_type on $part"
+                       fi
+                       if check_is_in "$fs_type" "${fs_label_mandatory[@]}"
+                               ask_string "$string (Label/Name is mandatory 
for this type of FS!) [keep it short and don't use spaces]" "$default" || 
return 1 #TODO: check that you can't give labels that have been given already 
or the installer will break.
+                       else
+                               ask_string "$string (Label is optional) [keep 
it short and don't use spaces]" "$default" 0
+                       fi
                        fs_label=${ANSWER_STRING// } # strip spaces to prevent 
problems in our bash code and to keep things simple.
                fi
 
-- 
1.7.5

Reply via email to