fix: Fallback to truncate if allocate fails
This commit is contained in:
parent
8c775a351d
commit
a758e59d46
1 changed files with 14 additions and 5 deletions
19
run/disk.sh
19
run/disk.sh
|
@ -26,7 +26,9 @@ if [ -f "${DATA}" ]; then
|
||||||
if [[ "${ALLOCATE}" == [Nn]* ]]; then
|
if [[ "${ALLOCATE}" == [Nn]* ]]; then
|
||||||
|
|
||||||
# Resize file by changing its length
|
# Resize file by changing its length
|
||||||
truncate -s "${DATA_SIZE}" "${DATA}";
|
if ! truncate -s "${DATA_SIZE}" "${DATA}"; then
|
||||||
|
error "Could not resize the file for the data disk." && exit 85
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
@ -42,7 +44,9 @@ if [ -f "${DATA}" ]; then
|
||||||
|
|
||||||
# Resize file by allocating more space
|
# Resize file by allocating more space
|
||||||
if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then
|
if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then
|
||||||
error "Could not allocate a file for the data disk." && exit 85
|
if ! truncate -s "${DATA_SIZE}" "${DATA}"; then
|
||||||
|
error "Could not resize the file for the data disk." && exit 85
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${ALLOCATE}" == [Zz]* ]]; then
|
if [[ "${ALLOCATE}" == [Zz]* ]]; then
|
||||||
|
@ -71,7 +75,10 @@ if [ ! -f "${DATA}" ]; then
|
||||||
if [[ "${ALLOCATE}" == [Nn]* ]]; then
|
if [[ "${ALLOCATE}" == [Nn]* ]]; then
|
||||||
|
|
||||||
# Create an empty file
|
# Create an empty file
|
||||||
truncate -s "${DATA_SIZE}" "${DATA}"
|
if ! truncate -s "${DATA_SIZE}" "${DATA}"; then
|
||||||
|
rm -f "${DATA}"
|
||||||
|
error "Could not create a file for the data disk." && exit 87
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
@ -85,8 +92,10 @@ if [ ! -f "${DATA}" ]; then
|
||||||
|
|
||||||
# Create an empty file
|
# Create an empty file
|
||||||
if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then
|
if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then
|
||||||
rm -f "${DATA}"
|
if ! truncate -s "${DATA_SIZE}" "${DATA}"; then
|
||||||
error "Could not allocate a file for the data disk." && exit 87
|
rm -f "${DATA}"
|
||||||
|
error "Could not create a file for the data disk." && exit 87
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${ALLOCATE}" == [Zz]* ]]; then
|
if [[ "${ALLOCATE}" == [Zz]* ]]; then
|
||||||
|
|
Loading…
Reference in a new issue