From 65cbea196f12ef0d05c141f7752d6fcb0a220424 Mon Sep 17 00:00:00 2001 From: wanyaoqi <18528551+wanyaoqi@users.noreply.github.com> Date: Mon, 19 Jan 2026 20:16:20 +0800 Subject: [PATCH] fix(host): ensure scsi pci addr on add scsi disk (#24096) --- pkg/hostman/guestman/guesttasks.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkg/hostman/guestman/guesttasks.go b/pkg/hostman/guestman/guesttasks.go index 2f0144b8a7..95439a9059 100644 --- a/pkg/hostman/guestman/guesttasks.go +++ b/pkg/hostman/guestman/guesttasks.go @@ -457,6 +457,14 @@ func (d *SGuestDiskSyncTask) checkDiskDriver(disk *desc.SGuestDisk) { d.guest.Desc.VirtioScsi = &desc.SGuestVirtioScsi{ PCIDevice: desc.NewPCIDevice(*cType, "virtio-scsi-pci", "scsi"), } + if err := d.guest.ensureDevicePciAddress(d.guest.Desc.VirtioScsi.PCIDevice, -1, nil); err != nil { + d.guest.Desc.VirtioScsi = nil + + err = errors.Wrap(err, "ensureDevicePciAddress for virtio scsi device") + d.errors = append(d.errors, err) + d.syncDisksConf() + return + } cb := func(ret string) { log.Infof("Add scsi controller %s", ret) d.checkDrivers = append(d.checkDrivers, DISK_DRIVER_SCSI) @@ -481,6 +489,15 @@ func (d *SGuestDiskSyncTask) checkDiskDriver(disk *desc.SGuestDisk) { d.guest.Desc.SataController = &desc.SGuestAhciDevice{ PCIDevice: desc.NewPCIDevice(*cType, "ahci", "ahci0"), } + + err := d.guest.ensureDevicePciAddress(d.guest.Desc.SataController.PCIDevice, -1, nil) + if err != nil { + d.guest.Desc.SataController = nil + err = errors.Wrap(err, "ensureDevicePciAddress sata controller") + d.errors = append(d.errors, err) + d.syncDisksConf() + return + } cb := func(ret string) { log.Infof("Add sata ahci controller %s", ret) d.checkDrivers = append(d.checkDrivers, DISK_DRIVER_SATA)