From f1854e458e5e77806b1fc837033500fa91272261 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Thu, 25 Apr 2013 14:27:29 -0700 Subject: mkefidisk: Unmount after partitioning Some automounters are rather overzealous and like to mount things immediately after partitioning. This can happen if the disk is being reused and the partitions align exactly with the existing partitions which have already been formatted. Move the unmount code into a function and call it before and after partitioning. Signed-off-by: Darren Hart Signed-off-by: Saul Wold --- scripts/contrib/mkefidisk.sh | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'scripts') diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh index 741c3ab967..0c15104bb3 100755 --- a/scripts/contrib/mkefidisk.sh +++ b/scripts/contrib/mkefidisk.sh @@ -71,6 +71,20 @@ function device_details() { echo "" } +function unmount_device() { + grep -q $DEVICE /proc/mounts + if [ $? -eq 0 ]; then + echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..." + umount $DEVICE* 2>/dev/null + grep -q $DEVICE /proc/mounts + if [ $? -eq 0 ]; then + echo "FAILED" + exit 1 + fi + echo "OK" + fi +} + # # Parse and validate arguments @@ -100,17 +114,7 @@ fi # # Check if any $DEVICE partitions are mounted # -grep -q $DEVICE /proc/mounts -if [ $? -eq 0 ]; then - echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..." - umount $DEVICE* 2>/dev/null - grep -q $DEVICE /proc/mounts - if [ $? -eq 0 ]; then - echo "FAILED" - exit 1 - fi - echo "OK" -fi +unmount_device # @@ -182,6 +186,12 @@ parted $DEVICE mkpart primary $SWAP_START 100% parted $DEVICE print +# +# Check if any $DEVICE partitions are mounted after partitioning +# +unmount_device + + # # Format $DEVICE partitions # -- cgit v1.2.3