qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: RFC: QMP event notification for disk media eject


From: Daniel P. Berrange
Subject: [Qemu-devel] Re: RFC: QMP event notification for disk media eject
Date: Tue, 11 Jan 2011 18:21:23 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Jan 11, 2011 at 03:45:49PM -0200, Luiz Capitulino wrote:
> On Tue, 11 Jan 2011 14:28:23 +0100
> Kevin Wolf <address@hidden> wrote:
> 
> > Am 11.01.2011 14:11, schrieb Luiz Capitulino:
> > > Hi there,
> > > 
> > > I need feedback on a new QMP event.
> > > 
> > > Problem
> > > =======
> > > 
> > > There's no way for a management tool to detect that a guest OS has 
> > > ejected the
> > > media in a CDROM or Floppy disk drive (I'm discarding polling, because 
> > > it's
> > > undesirable at best).
> > > 
> > > The end result is that the management tool can get confused, this is 
> > > happening
> > > with libvirt when migration is involved: if the guest is saved/restored or
> > > migrated, then libvirt will start the guest again with media still 
> > > present.
> > > 
> > > NOTE: Most of the analysis here was done by Daniel Berrange.
> > > 
> > > Solution
> > > ========
> > > 
> > > We need a new QMP event to solve that. There are two possible events, a
> > > general one and a very specific one.
> > > 
> > > There are 3 scenarios in which both events should be emitted:
> > > 
> > >  1. When guest OS ejects media
> > >  2. When 'eject' monitor command is run
> > >  3. When 'change' monitor command is run
> > > 
> > > BLOCK_MEDIA_CHANGE
> > > ------------------
> > > 
> > > This is the general event, it's emitted when any removable block device
> > > is changed.
> > > 
> > > Ideally, the event should contain two pieces of info:
> > > 
> > >  - qdev device name
> > 
> > Is there a reason why you use the device name instead of the drive
> > name/blockdev ID here?
> 
> Good question, this is a copy & paste from Daniel initial request, so
> he's the best person to answer that question.

There isn't any reason I chose one over the other, libvirt
certainly doesn't care - we can hook into either option.
I assume the best thing is to use the same identifier
that we already use in BLOCK_IO_ERROR event, for sake
of consistency.

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]