* [PULL 0/1] xen queue 2020-11-02 @ 2020-11-02 14:44 Anthony PERARD via 2020-11-02 14:44 ` [PULL 1/1] xen: rework pci_piix3_xen_ide_unplug Anthony PERARD via 2020-11-02 17:17 ` [PULL 0/1] xen queue 2020-11-02 Peter Maydell 0 siblings, 2 replies; 3+ messages in thread From: Anthony PERARD via @ 2020-11-02 14:44 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Anthony PERARD The following changes since commit 2c6605389c1f76973d92b69b85d40d94b8f1092c: Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20201101.0' into staging (2020-11-02 09:54:00 +0000) are available in the Git repository at: https://xenbits.xen.org/git-http/people/aperard/qemu-dm.git tags/pull-xen-20201102 for you to fetch changes up to 045b1d4dbb44da67f1f86efa75b02843c0e951ef: xen: rework pci_piix3_xen_ide_unplug (2020-11-02 11:56:55 +0000) ---------------------------------------------------------------- xen patch - Rework Xen disk unplug to work with newer command line options. ---------------------------------------------------------------- Anthony PERARD (1): xen: rework pci_piix3_xen_ide_unplug hw/ide/piix.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PULL 1/1] xen: rework pci_piix3_xen_ide_unplug 2020-11-02 14:44 [PULL 0/1] xen queue 2020-11-02 Anthony PERARD via @ 2020-11-02 14:44 ` Anthony PERARD via 2020-11-02 17:17 ` [PULL 0/1] xen queue 2020-11-02 Peter Maydell 1 sibling, 0 replies; 3+ messages in thread From: Anthony PERARD via @ 2020-11-02 14:44 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Anthony PERARD This is to allow IDE disks to be unplugged when adding to QEMU via: -drive file=/root/disk_file,if=none,id=ide-disk0,format=raw -device ide-hd,drive=ide-disk0,bus=ide.0,unit=0 as the current code only works for disk added with: -drive file=/root/disk_file,if=ide,index=0,media=disk,format=raw Since the code already have the IDE controller as `dev`, we don't need to use the legacy DriveInfo to find all the drive we want to unplug. We can simply use `blk` from the controller, as it kind of was already assume to be the same, by setting it to NULL. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: John Snow <jsnow@redhat.com> Reviewed-by: Paul Durrant <paul@xen.org> Message-Id: <20201027154058.495112-1-anthony.perard@citrix.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- hw/ide/piix.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/hw/ide/piix.c b/hw/ide/piix.c index b402a936362b..b9860e35a5c4 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -164,30 +164,29 @@ static void pci_piix_ide_realize(PCIDevice *dev, Error **errp) int pci_piix3_xen_ide_unplug(DeviceState *dev, bool aux) { PCIIDEState *pci_ide; - DriveInfo *di; int i; IDEDevice *idedev; + IDEBus *idebus; + BlockBackend *blk; pci_ide = PCI_IDE(dev); for (i = aux ? 1 : 0; i < 4; i++) { - di = drive_get_by_index(IF_IDE, i); - if (di != NULL && !di->media_cd) { - BlockBackend *blk = blk_by_legacy_dinfo(di); - DeviceState *ds = blk_get_attached_dev(blk); + idebus = &pci_ide->bus[i / 2]; + blk = idebus->ifs[i % 2].blk; - blk_drain(blk); - blk_flush(blk); - - if (ds) { - blk_detach_dev(blk, ds); - } - pci_ide->bus[di->bus].ifs[di->unit].blk = NULL; + if (blk && idebus->ifs[i % 2].drive_kind != IDE_CD) { if (!(i % 2)) { - idedev = pci_ide->bus[di->bus].master; + idedev = idebus->master; } else { - idedev = pci_ide->bus[di->bus].slave; + idedev = idebus->slave; } + + blk_drain(blk); + blk_flush(blk); + + blk_detach_dev(blk, DEVICE(idedev)); + idebus->ifs[i % 2].blk = NULL; idedev->conf.blk = NULL; monitor_remove_blk(blk); blk_unref(blk); -- Anthony PERARD ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PULL 0/1] xen queue 2020-11-02 2020-11-02 14:44 [PULL 0/1] xen queue 2020-11-02 Anthony PERARD via 2020-11-02 14:44 ` [PULL 1/1] xen: rework pci_piix3_xen_ide_unplug Anthony PERARD via @ 2020-11-02 17:17 ` Peter Maydell 1 sibling, 0 replies; 3+ messages in thread From: Peter Maydell @ 2020-11-02 17:17 UTC (permalink / raw) To: Anthony PERARD; +Cc: QEMU Developers On Mon, 2 Nov 2020 at 14:51, Anthony PERARD <anthony.perard@citrix.com> wrote: > > The following changes since commit 2c6605389c1f76973d92b69b85d40d94b8f1092c: > > Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20201101.0' into staging (2020-11-02 09:54:00 +0000) > > are available in the Git repository at: > > https://xenbits.xen.org/git-http/people/aperard/qemu-dm.git tags/pull-xen-20201102 > > for you to fetch changes up to 045b1d4dbb44da67f1f86efa75b02843c0e951ef: > > xen: rework pci_piix3_xen_ide_unplug (2020-11-02 11:56:55 +0000) > > ---------------------------------------------------------------- > xen patch > > - Rework Xen disk unplug to work with newer command line > options. > Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/5.2 for any user-visible changes. -- PMM ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-02 17:36 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-11-02 14:44 [PULL 0/1] xen queue 2020-11-02 Anthony PERARD via 2020-11-02 14:44 ` [PULL 1/1] xen: rework pci_piix3_xen_ide_unplug Anthony PERARD via 2020-11-02 17:17 ` [PULL 0/1] xen queue 2020-11-02 Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).