Browse Source

Changed size to be in blocks

Matteo Zeccoli Marazzini 5 years ago
parent
commit
4964f4d2b6
3 changed files with 23 additions and 16 deletions
  1. 4 4
      newdisk-automator
  2. 9 12
      parse-arguments.sh
  3. 10 0
      utils.sh

+ 4 - 4
newdisk-automator

@@ -45,23 +45,23 @@ vgcreate localDisk "${DEVICE}1" >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "vgcr
 echo ${SWAP_SIZE}
 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 --size "${SWAP_SIZE}S" 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 $?"
 fi
 if [ "${CONDOR_SIZE}" != 0 ] ; then
 	echo "Creating logical volume condor..." >${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 --size "${CONDOR_SIZE}S" 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"
 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 --size "${TEMP_SIZE}S" 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"
 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 --size "${VM_SIZE}S" localDisk -n calcolo >${PROGRAM_OUTPUT} 2>&1 || fatal ${PROG_E} "lvcreate returned $? for vm lv"
 fi

+ 9 - 12
parse-arguments.sh

@@ -38,23 +38,20 @@ default()
 	elif [ $DEVICE_SIZE -lt $BEST_SIZE ] && [ $FORCE -ne 1 ]; then
 		fatal ${BESTSIZE_E} "to use default mode, it is reccomended that the disk have at least $(bytes_to_gibibytes ${BEST_SIZE})GB. If you know what you are doing, you can force default mode with -f".
 	fi
-	VM_SIZE=$(gibibytes_to_bytes 100)
-	SWAP_SIZE=$(( $RAM_SIZE + $(gibibytes_to_bytes 1) ))
+	VM_SIZE=$(to_sectors 100G)
+	SWAP_SIZE=$(to_sectors $(( $RAM_SIZE + $(gibibytes_to_bytes 1) )) )
 	FREE_SIZE=$(( ( $DEVICE_SIZE - $VM_SIZE - $SWAP_SIZE ) / 10 ))
-	CONDOR_SIZE=$(( ( $DEVICE_SIZE - $FREE_SIZE ) / 10 * 4 ))
-	TEMP_SIZE=$(( ( $DEVICE_SIZE - $FREE_SIZE ) / 10 * 6 ))
+	CONDOR_SIZE=$(to_sectors $(( ( $DEVICE_SIZE - $FREE_SIZE ) / 10 * 4 )) )
+	TEMP_SIZE=$(to_sectors $(( ( $DEVICE_SIZE - $FREE_SIZE ) / 10 * 6 )) )
 }
 
 manual()
 {
-	TEMP_SIZE=$(to_bytes $2)
-	if [ $(($TEMP_SIZE % 512)) -ne 0 ] ; then
-		fatal ${CHUNK_E} "size must be multiple of 512 bytes"
-	fi
-	CONDOR_SIZE=$(to_bytes $3)
-	SWAP_SIZE=$(to_bytes $4)
-	VM_SIZE=$(to_bytes $5)
-	if [ $(( $TEMP_SIZE + $CONDOR_SIZE + $SWAP_SIZE + $VM_SIZE )) -gt $DEVICE_SIZE ]; then
+	TEMP_SIZE=$(to_sectors $2)
+	CONDOR_SIZE=$(to_sectors $3)
+	SWAP_SIZE=$(to_sectors $4)
+	VM_SIZE=$(to_sectors $5)
+	if [ $(( $TEMP_SIZE + $CONDOR_SIZE + $SWAP_SIZE + $VM_SIZE )) -gt $(to_sectors $DEVICE_SIZE) ]; then
 		fatal ${MANUALSIZE_E} "can't use this sizes: ${DEVICE} has only $(bytes_to_gibibytes ${DEVICE_SIZE})G"
 	fi
 }

+ 10 - 0
utils.sh

@@ -29,3 +29,13 @@ to_bytes()
 	*) fatal UNIT_E "${1:-1} is not a valid unit" ;;
 	esac
 }
+
+bytes_to_sectors()
+{
+	echo $(( "${1}" / 512 ))
+}
+
+to_sectors()
+{
+	bytes_to_sectors $( to_bytes "${1}" )
+}