mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2026-08-28 20:06:05 +00:00
feat: Normalize discard mode for qemu drives (#1221)
This commit is contained in:
+18
-1
@@ -8,7 +8,7 @@ set -Eeuo pipefail
|
||||
: "${DISK_TYPE:=""}" # Device type to be used, "sata", "nvme", "blk" or "scsi"
|
||||
: "${DISK_FLAGS:=""}" # Specifies the options for use with the qcow2 disk format
|
||||
: "${DISK_CACHE:="none"}" # Caching mode, can be set to 'writeback' for better performance
|
||||
: "${DISK_DISCARD:="on"}" # Controls whether unmap (TRIM) commands are passed to the host.
|
||||
: "${DISK_DISCARD:="unmap"}" # Controls whether unmap (TRIM) commands are passed to the host.
|
||||
: "${DISK_ROTATION:="1"}" # Rotation rate, set to 1 for SSD storage and increase for HDD
|
||||
|
||||
# Sanitize all variables
|
||||
@@ -663,6 +663,23 @@ if [[ "${DISK_IO,,}" == "native" && "${DISK_CACHE,,}" != "none" && "${DISK_CACHE
|
||||
DISK_IO="threads"
|
||||
fi
|
||||
|
||||
case "${DISK_DISCARD,,}" in
|
||||
"y" | "yes" | "true" | "1" | "on" | "unmap" )
|
||||
DISK_DISCARD="unmap" ;;
|
||||
|
||||
"n" | "no" | "false" | "0" | "off" | "ignore" )
|
||||
DISK_DISCARD="ignore" ;;
|
||||
|
||||
* )
|
||||
warn "Invalid DISK_DISCARD value '$DISK_DISCARD', using 'unmap'."
|
||||
DISK_DISCARD="unmap" ;;
|
||||
esac
|
||||
|
||||
if [[ ! "$DISK_ROTATION" =~ ^[0-9]+$ ]]; then
|
||||
warn "Invalid DISK_ROTATION value '$DISK_ROTATION', using 1."
|
||||
DISK_ROTATION="1"
|
||||
fi
|
||||
|
||||
case "${DISK_TYPE,,}" in
|
||||
"ide" | "sata" | "nvme" | "usb" | "scsi" | "blk" | "auto" | "none" ) ;;
|
||||
* ) error "Invalid DISK_TYPE specified, value \"$DISK_TYPE\" is not recognized!" && exit 80 ;;
|
||||
|
||||
Reference in New Issue
Block a user