[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 1/2] xen_platform: unplug also SCSI disks
On Fri, 21 Oct 2016, Olaf Hering wrote: > Using 'vdev=sd[a-o]' will create an emulated LSI controller, which can > be used by the emulated BIOS to boot from disk. If the HVM domU has also > PV driver the disk may appear twice in the guest. To avoid this an > unplug of the emulated hardware is needed, similar to what is done for > IDE and NIC drivers already. > > Since the SCSI controller provides only disks the entire controller can > be unplugged at once. > > Impact of the change for classic and pvops based guest kernels: > > vdev=sda:disk0 > before: pvops: disk0=pv xvda + emulated sda > classic: disk0=pv sda + emulated sdq > after: pvops: disk0=pv xvda > classic: disk0=pv sda > > vdev=hda:disk0, vdev=sda:disk1 > before: pvops: disk0=pv xvda > disk1=emulated sda > classic: disk0=pv hda > disk1=pv sda + emulated sdq > after: pvops: disk0=pv xvda > disk1=not accessible by blkfront, index hda==index sda > classic: disk0=pv hda > disk1=pv sda > > vdev=hda:disk0, vdev=sda:disk1, vdev=sdb:disk2 > before: pvops: disk0=pv xvda > disk1=emulated sda > disk2=pv xvdb + emulated sdb > classic: disk0=pv hda > disk1=pv sda + emulated sdq > disk2=pv sdb + emulated sdr > after: pvops: disk0=pv xvda > disk1=not accessible by blkfront, index hda==index sda > disk2=pv xvdb > classic: disk0=pv hda > disk1=pv sda > disk2=pv sda > > Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > hw/i386/xen/xen_platform.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c > index f85635c..91d8a7a 100644 > --- a/hw/i386/xen/xen_platform.c > +++ b/hw/i386/xen/xen_platform.c > @@ -114,6 +114,10 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void > *o) > PCI_CLASS_STORAGE_IDE > && strcmp(d->name, "xen-pci-passthrough") != 0) { > pci_piix3_xen_ide_unplug(DEVICE(d)); > + } else if (pci_get_word(d->config + PCI_CLASS_DEVICE) == > + PCI_CLASS_STORAGE_SCSI > + && strcmp(d->name, "xen-pci-passthrough") != 0) { > + object_unparent(OBJECT(d)); > } > } > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |