Browse Source

Improved wiping of device signatures

Matteo Zeccoli Marazzini 5 years ago
parent
commit
b8bc9fb423
2 changed files with 17 additions and 13 deletions
  1. 2 0
      error.sh
  2. 15 13
      newdisk-automator

+ 2 - 0
error.sh

@@ -17,6 +17,8 @@ MINSIZE_E=10
 BESTSIZE_E=11
 MANUALSIZE_E=12
 
+PROG_E=16
+
 fatal()
 {
 	STRING=${2:-"generic error"}

+ 15 - 13
newdisk-automator

@@ -14,16 +14,18 @@ parse_arguments $@
 
 # removing lvm and other filesystem signatures
 if [ $LVM == 1 ]; then
-	echo "Erasing disk signatures..." >${SCRIPT_OUTPUT}
 	vgchange -an $(vgs --noheadings --select pv_name=~"${DEVICE}" -o vg_name) >${PROGRAM_OUTPUT} 2>&1 
 fi
 
-wipefs -a ${DEVICE}[[:digit:]]* >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "wipefs returned $?"
-wipefs -a ${DEVICE} >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "wipefs returned $%"
+echo "Erasing disk signatures..." >${SCRIPT_OUTPUT}
+if [ -e ${DEVICE}1 ]; then
+	wipefs -a ${DEVICE}[[:digit:]]* >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "wipefs returned $?"
+fi
+wipefs -a ${DEVICE} >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "wipefs returned $%"
 
 echo "Partitioning the disk..." >${SCRIPT_OUTPUT}
 # partitioning the disk
-sfdisk "${DEVICE}" <<-sfdisk-script-end >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "sfdisk returned $?"
+sfdisk "${DEVICE}" <<-sfdisk-script-end >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "sfdisk returned $?"
 # Create a new partition table on the specified disk, and create a new Linux LVM partition
 #
 # partition table info
@@ -36,29 +38,29 @@ sfdisk-script-end
 
 # LVM
 echo "Creating physical volume ${DEVICE}1..." >${SCRIPT_OUTPUT}
-pvcreate "${DEVICE}1" >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "pvcreate returned $?"
+pvcreate "${DEVICE}1" >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "pvcreate returned $?"
 echo "Creating volume group localDisk..." >${SCRIPT_OUTPUT}
-vgcreate localDisk "${DEVICE}1" >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "vgcreate returned $?"
+vgcreate localDisk "${DEVICE}1" >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "vgcreate returned $?"
 
 if [ "${SWAP_SIZE}" != 0 ] ; then
 	echo "Creating logical volume swap..." >${SCRIPT_OUTPUT}
-	lvcreate -W n -C y -L "${SWAP_SIZE}B" localDisk -n swap >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "lvcreate returned $? for swap lv"
+	lvcreate -W n -C y -L "${SWAP_SIZE}B" localDisk -n swap >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "lvcreate returned $? for swap lv"
 	echo "Formatting swap lv..." >${SCRIPT_OUTPUT}
-	mkswap /dev/localDisk/swap >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "mkswap returned $?"
+	mkswap /dev/localDisk/swap >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "mkswap returned $?"
 fi
 if [ "${CONDOR_SIZE}" != 0 ] ; then
 	echo "Creating logical volume swap..." >${SCRIPT_OUTPUT}
-	lvcreate -W n -L "${CONDOR_SIZE}B" localDisk -n condor >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "lvcreate returned $? for condor lv"
+	lvcreate -W n -L "${CONDOR_SIZE}B" localDisk -n condor >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "lvcreate returned $? for condor lv"
 	echo "Formatting condor lv..." >${SCRIPT_OUTPUT}
-	mkfs.ext4 /dev/localDisk/condor >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "mkfs returned $? for condor lv"
+	mkfs.ext4 /dev/localDisk/condor >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "mkfs returned $? for condor lv"
 fi
 if [ "${TEMP_SIZE}" != 0 ] ; then
 	echo "Creating logical volume tempdir..." >${SCRIPT_OUTPUT}
-	lvcreate -W n -L "${TEMP_SIZE}B" localDisk -n tempdir >${PROGRAM_OUTPUT} 2>&1|| fatal PROG_E "lvcreate returned $? for tempdir lv"
+	lvcreate -W n -L "${TEMP_SIZE}B" localDisk -n tempdir >${PROGRAM_OUTPUT} 2>&1|| fatal ${PROG_E} "lvcreate returned $? for tempdir lv"
 	echo "Formatting tempdir lv..." >${SCRIPT_OUTPUT}
-	mkfs.ext4 /dev/localDisk/tempdir >${PROGRAM_OUTPUT} 2>&1|| fatal PROG_E "mkfs returned $? for tempdir lv"
+	mkfs.ext4 /dev/localDisk/tempdir >${PROGRAM_OUTPUT} 2>&1|| fatal ${PROG_E} "mkfs returned $? for tempdir lv"
 fi
 if [ "${VM_SIZE}" != 0 ] ; then
 	echo "Creating logical volume calcolo..." >${SCRIPT_OUTPUT}
-	lvcreate -W n -L "${VM_SIZE}B" localDisk -n calcolo >${PROGRAM_OUTPUT} 2>&1 || fatal PROG_E "lvcreate returned $? for vm lv"
+	lvcreate -W n -L "${VM_SIZE}B" localDisk -n calcolo >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "lvcreate returned $? for vm lv"
 fi