Make allocation method configurable

This commit is contained in:
Kroese 2023-04-18 18:05:52 +02:00 committed by GitHub
parent eaf7a3b89c
commit a18cdf17d4

View File

@ -29,6 +29,12 @@ if [ -f "${DATA}" ]; then
echo "INFO: Resizing data disk from $OLD_SIZE to $DATA_SIZE bytes.."
if [ "$ALLOCATE" != "Y" ]; then
truncate -s "${DATA_SIZE}" "${DATA}";
else
REQ=$((DATA_SIZE-OLD_SIZE))
# Check free diskspace
@ -43,6 +49,7 @@ if [ -f "${DATA}" ]; then
fi
fi
fi
if [ "$DATA_SIZE" -lt "$OLD_SIZE" ]; then
@ -52,18 +59,10 @@ if [ -f "${DATA}" ]; then
mv -f "${DATA}" "${DATA}.bak"
fi
fi
if [ ! -f "${DATA}" ]; then
# Check free diskspace
SPACE=$(df --output=avail -B 1 "${STORAGE}" | tail -n 1)
if (( DATA_SIZE > SPACE )); then
echo "ERROR: Not enough free space to create virtual disk." && exit 86
fi
# Create an empty file
if [ "$ALLOCATE" != "Y" ]; then
@ -72,6 +71,13 @@ if [ ! -f "${DATA}" ]; then
else
# Check free diskspace
SPACE=$(df --output=avail -B 1 "${STORAGE}" | tail -n 1)
if (( DATA_SIZE > SPACE )); then
echo "ERROR: Not enough free space to create virtual disk." && exit 86
fi
if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then
rm -f "${DATA}"
echo "ERROR: Could not allocate file for virtual disk." && exit 87