If this is:
* "qcow2" then use qemu-img create with a a base image.
* "raw" then use cp to copy base image.
* otherwise, error.
Signed-off-by: Martin Schwenke <martin@meltin.net>
local template_file="${4:-$NODE_TEMPLATE}"
IPNUM=$(($FIRSTIP + $ip_offset))
- DISK="${VIRTBASE}/${CLUSTER}/${NAME}.qcow2"
+ DISK="${VIRTBASE}/${CLUSTER}/${NAME}.${SYSTEM_DISK_FORMAT}"
mkdir -p $VIRTBASE/$CLUSTER tmp
echo "Creating the disk"
rm -f "$DISK"
- qemu-img create -b "$VIRTBASE/$BASENAME.img" -f qcow2 "$DISK"
+ case "$SYSTEM_DISK_FORMAT" in
+ qcow2)
+ qemu-img create -b "$VIRTBASE/$BASENAME.img" -f qcow2 "$DISK"
+ ;;
+ raw)
+ cp -v --sparse=always "$VIRTBASE/$BASENAME.img" "$DISK"
+ ;;
+ *)
+ die "Error: unknown SYSTEM_DISK_FORMAT=\"${SYSTEM_DISK_FORMAT}\"."
+ esac
mount_disk $DISK
setup_base "$type"
defconf SYSTEM_DISK_CACHE "writeback" \
"default|none|writeback|writethrough" "system disk cache type"
+defconf SYSTEM_DISK_FORMAT "qcow2" \
+ "qcow2|raw" "system disk image format"
+
######################################################################
# Node