On Fri, 1 Dec 2023 10:24:41 +0100 Fiona Ebner <f.ebner@xxxxxxxxxxx> wrote: > Am 01.12.23 um 00:18 schrieb Bjorn Helgaas: > > On Wed, Nov 29, 2023 at 04:22:41PM +0100, Fiona Ebner wrote: > >> Hi, > >> it seems that hot-plugging SCSI disks for QEMU virtual machines booting > >> with UEFI and with guest kernels >= 6.5 might be broken. It's not > >> consistently broken, hinting there might be a race somewhere. > >> > >> Reverting the following two commits seems to make it work reliably again: > >> > >> cc22522fd55e2 ("PCI: acpiphp: Use > >> pci_assign_unassigned_bridge_resources() only for non-root bus") > >> 40613da52b13f ("PCI: acpiphp: Reassign resources on bridge if necessary" > >> > >> Of course, they might only expose some pre-existing issue, but this is > >> my best lead. See below for some logs and details about an affected > >> virtual machine. Happy to provide more information and to debug/test > >> further. > > > > Shoot. Thanks very much for the report and your debugging. I'm > > hoping Igor will chime in with some ideas. > > > > Both of those commits appeard in v6.5 and fixed legit issues, so I > > hate to revert them, but this does appear to be a regression. > > > > #regzbot introduced: cc22522fd55e2 ^ > > #regzbot introduced: 40613da52b13f ^ > > > >> Host kernel: 6.5.11-4-pve which is based on the one from Ubuntu > >> Guest kernel: 6.7.0-rc3 and 6.7.0-rc3 with above commits reverted > >> QEMU version: v8.1.0 built from source > >> EDK2 version: submodule in the QEMU v8.1 repository: edk2-stable202302 > >> > > I should mention that I haven't run into the issue when booting the VM > with SeaBIOS yet. > > Log for 6.7.0-rc3 + SeaBIOS (bundled with QEMU 8.1): > > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: [1af4:1004] type 00 class 0x010000 > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: reg 0x10: [io 0x0000-0x003f] > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: reg 0x14: [mem 0x00000000-0x00000fff] > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref] > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: BAR 4: assigned [mem 0xfd404000-0xfd407fff 64bit pref] > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: BAR 1: assigned [mem 0xfe801000-0xfe801fff] > > Dec 01 10:08:08 hotplug kernel: pci 0000:01:02.0: BAR 0: assigned [io 0xe040-0xe07f] > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: PCI bridge to [bus 01] > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: bridge window [io 0xe000-0xefff] > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: bridge window [mem 0xfe800000-0xfe9fffff] > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: bridge window [mem 0xfd400000-0xfd5fffff 64bit pref] > > Dec 01 10:08:08 hotplug kernel: virtio-pci 0000:01:02.0: enabling device (0000 -> 0003) > > Dec 01 10:08:08 hotplug kernel: ACPI: \_SB_.LNKC: Enabled at IRQ 11 > > Dec 01 10:08:08 hotplug kernel: scsi host3: Virtio SCSI HBA > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: PCI bridge to [bus 01] > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: bridge window [io 0xe000-0xefff] > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: bridge window [mem 0xfe800000-0xfe9fffff] > > Dec 01 10:08:08 hotplug kernel: scsi 3:0:0:1: Direct-Access QEMU QEMU HARDDISK 2.5+ PQ: 0 ANSI: 5 > > Dec 01 10:08:08 hotplug kernel: pci 0000:00:05.0: bridge window [mem 0xfd400000-0xfd5fffff 64bit pref] > > Dec 01 10:08:08 hotplug kernel: scsi 3:0:0:1: Attached scsi generic sg1 type 0 > > Dec 01 10:08:08 hotplug kernel: sd 3:0:0:1: Power-on or device reset occurred > > Dec 01 10:08:08 hotplug kernel: sd 3:0:0:1: [sdb] 2048 512-byte logical blocks: (1.05 MB/1.00 MiB) > > Dec 01 10:08:08 hotplug kernel: sd 3:0:0:1: [sdb] Write Protect is off > > Dec 01 10:08:08 hotplug kernel: sd 3:0:0:1: [sdb] Mode Sense: 63 00 00 08 > > Dec 01 10:08:08 hotplug kernel: sd 3:0:0:1: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA > > Dec 01 10:08:08 hotplug kernel: sd 3:0:0:1: [sdb] Attached SCSI disk > > Interestingly, the line with "QEMU HARDDISK" does not come after all > lines with "bridge window" like was the case for the one time it did > work with UEFI. So maybe that was just a red herring. I've just seen this, let me try to reproduce and see what can be done with it. > > Best Regards, > Fiona >