Skip to content

Commit 6bd7572

Browse files
B #7590: set target bus on disk hotplug
using SD_DISK_BUS when available. Check if the bus is SATA and raisese error as it is unsupported.
1 parent 63b6e50 commit 6bd7572

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/mad/sh/scripts_common.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,7 @@ function get_disk_information {
931931
XPATH_ELEMENTS[i++]="$element"
932932
done < <($CMD /VMM_DRIVER_ACTION_DATA/VM/ID \
933933
/VMM_DRIVER_ACTION_DATA/VM/TEMPLATE/VCPU \
934+
/VMM_DRIVER_ACTION_DATA//OS/SD_DISK_BUS \
934935
$DISK_XPATH/DRIVER \
935936
$DISK_XPATH/TYPE \
936937
$DISK_XPATH/READONLY \
@@ -980,6 +981,7 @@ function get_disk_information {
980981
981982
VMID="${XPATH_ELEMENTS[j++]}"
982983
VCPU="${XPATH_ELEMENTS[j++]:-1}"
984+
SD_DISK_BUS="${XPATH_ELEMENTS[j++]}"
983985
DRIVER="${XPATH_ELEMENTS[j++]:-$DEFAULT_TYPE}"
984986
TYPE="${XPATH_ELEMENTS[j++]}"
985987
READONLY="${XPATH_ELEMENTS[j++]}"

src/vmm_mad/remotes/kvm/attach_disk

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,14 @@ XML+="</source>"
118118

119119
[ -n "${AUTH}" ] && XML+=" ${AUTH}"
120120

121-
XML+="<target dev='$(xml_esc "${TARGET}")'/>"
121+
if [[ -n "${SD_DISK_BUS}" ]]; then
122+
if [[ "${SD_DISK_BUS,,}" == "sata" ]]; then
123+
log_error "The SATA disks are not hot-pluggable!"
124+
exit 1
125+
fi
126+
[[ "${TARGET:0:2}" == "sd" ]] && TARGET_BUS="bus='$(xml_esc "${SD_DISK_BUS,,}")'" || TARGET_BUS=""
127+
fi
128+
XML+="<target dev='$(xml_esc "${TARGET}")'${TARGET_BUS:+ ${TARGET_BUS}}/>"
122129
[ -n "${ORDER}" ] && XML+=" <boot order='$(xml_esc "${ORDER}")'/>"
123130
[ "${READONLY}" = 'yes' ] && XML+="<readonly/>"
124131
[ "${SHAREABLE}" = 'yes' ] && XML+="<shareable/>"

0 commit comments

Comments
 (0)