From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57624) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SPVTw-0004hX-Le for qemu-devel@nongnu.org; Wed, 02 May 2012 05:04:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SPVTq-0005LT-89 for qemu-devel@nongnu.org; Wed, 02 May 2012 05:04:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:4822) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SPVTq-0005Hw-0B for qemu-devel@nongnu.org; Wed, 02 May 2012 05:04:14 -0400 Date: Wed, 2 May 2012 10:03:56 +0100 From: "Daniel P. Berrange" Message-ID: <20120502090356.GF13336@redhat.com> References: <1335886307-27586-1-git-send-email-stefanha@linux.vnet.ibm.com> <1335886307-27586-3-git-send-email-stefanha@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1335886307-27586-3-git-send-email-stefanha@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [RFC 2/5] block: add new command line parameter that and protocol description Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , libvir-list@redhat.com, Anthony Liguori , Corey Bryant , qemu-devel@nongnu.org On Tue, May 01, 2012 at 04:31:44PM +0100, Stefan Hajnoczi wrote: > From: Anthony Liguori > > Signed-off-by: Anthony Liguori > Signed-off-by: Stefan Hajnoczi > --- > qemu-options.hx | 42 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/qemu-options.hx b/qemu-options.hx > index a169792..ccf4d1d 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -2724,6 +2724,48 @@ DEF("qtest-log", HAS_ARG, QEMU_OPTION_qtest_log, > "-qtest-log LOG specify tracing options\n", > QEMU_ARCH_ALL) > > +DEF("open-hook-fd", HAS_ARG, QEMU_OPTION_open_hook_fd, > + "-open-hook-fd \n" > + " delegate opens to external process using \n", QEMU_ARCH_ALL) > +STEXI > +@item -open-hook-fd @var{fd} > +@findex -open-hook-fd > +Delegates open()s to an external process using @var to communicate commands. > +@var should be an open Unix Domain socket pipe that file descriptors can be > +received from. The protocol the socket uses is a simple request/response initiated > +by the client. All integers are in host byte order. It is assumed that this protocol > +is only ever used on the same physical machine. It is currently defined as: > + > +u32 message_size > +u32 command > +u8 payload[message_size - 8] > + > +The contents of payload depend on command. Currently the following commands are > +defined: > + > +1. QEMU_OPEN (1) > + > +The full message will be: > + > +u32 message_size > +u32 command = 1 > +u32 flags (O_ flags defined by libc) > +u32 mode (mode_t flags as defined by libc) > +u16 filename_len; > +u8 filename[filename_len] I think this should include the ID of the backend of the drive wanting this file opened, so you can reliably match up to the -drive that mgmt configured at startup. ie not have to search through every single device in the guest & all their backing files to find if there is a match. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|