[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1] unmodified_drivers: unplug the emulated devices at resume time



> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
> Sent: 13 June 2018 07:27
> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Cc: Olaf Hering <olaf@xxxxxxxxx>; Stefano Stabellini
> <sstabellini@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxx
> Subject: Re: [PATCH v1] unmodified_drivers: unplug the emulated devices at
> resume time
> 
> >>> On 12.06.18 at 21:39, <sstabellini@xxxxxxxxxx> wrote:
> > On Tue, 12 Jun 2018, Jan Beulich wrote:
> >> >>> On 12.06.18 at 16:10, <olaf@xxxxxxxxx> wrote:
> >> > Since qemu-2.10 it is required to unplug emulated devices again after
> >> > a live migration. If this is not done, qemu's block-backend driver
> >> > will be unable to open the backing disk image because it is still busy
> >> > by qemu's IDE driver. As a result the domUs block-frontend driver will
> >> > be unable to access the disks, and the domU has to be destroyed.
> >> > libxl is unable to detect the situation.
> >>
> >> So there's no plan to fix this on the qemu side?
> >>
> >> > Apply the same workaround for this qemu bug that was done already
> >> > years ago in linux.git with commit 512b109ec962 ("xen: unplug the
> >> > emulated devices at resume time") to make sure xenlinux based domUs
> >> > can be migrated to unfixed hosts.
> >>
> >> Hmm, that change has no explanation whatsoever of why this was
> >> necessary already back at that time. Stefano?
> >
> > It was too long ago, I don't remember exactly, but my guess is that the
> > presence of the emulated devices at resume time was causing problems to
> > Linux. Given that Linux HVM was supposed to be able to run on older
> > versions of Xen, the workaround was put in Linux rather than Xen. (I
> > wonder if the Windows PV drivers have also something similar.)
> 
> Paul?

Yes, they do. Emulated devices are unplugged on resume, just after the 
hypercall table is updated. See:

http://xenbits.xen.org/gitweb/?p=pvdrivers/win/xenbus.git;a=blob;f=src/xenbus/suspend.c;hb=HEAD#l219

AFAIK this has always done (dating back to the ancient Citrix drivers). I 
suspect you'll find the same in GPLPV.

  Paul

> 
> Thanks, Jan
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.