From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:56897) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYeib-0004Qi-BI for qemu-devel@nongnu.org; Mon, 20 Jun 2011 09:40:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QYeia-0002u3-J7 for qemu-devel@nongnu.org; Mon, 20 Jun 2011 09:40:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:62555) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYeia-0002tv-Bf for qemu-devel@nongnu.org; Mon, 20 Jun 2011 09:40:44 -0400 Message-ID: <4DFF4DD1.50502@redhat.com> Date: Mon, 20 Jun 2011 16:40:33 +0300 From: Avi Kivity MIME-Version: 1.0 References: <4DF762A4.2040503@us.ibm.com> In-Reply-To: <4DF762A4.2040503@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] Add support for fd: protocol List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Corey Bryant Cc: libvir-list@redhat.com, Anthony Liguori , qemu-devel@nongnu.org, Tyler C Hicks On 06/14/2011 04:31 PM, Corey Bryant wrote: > - Starting Qemu with a backing file > For this we could tell qemu that a file named "xyz" is available via fd n, via an extension of the getfd command. For example (qemu) getfd path="/images/my-image.img" (qemu) getfd path="/images/template.img" (qemu) drive-add path="/images/my-image.img" The open() for my-image.img first looks up the name in the getfd database, and finds it, so it returns the fd from there instead of opening. It then opens the backing file ("template.img") and looks it up again, and finds the second fd from the session. The result is that open()s are satisfied from the monitor, instead of the host kernel, but without reversing the request/reply nature of the monitor protocol. A similar extension could be added to the command line: qemu -drive file=fd:4,cache=none -path-alias name=/images/template.img,path=fd:5 Here the main image is opened via a fd 4; if it needs template.img, it gets shunted to fd 5. -- error compiling committee.c: too many arguments to function