From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41334 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OGWH3-0001Iq-Ch for qemu-devel@nongnu.org; Mon, 24 May 2010 07:56:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OGWH1-0008RM-RJ for qemu-devel@nongnu.org; Mon, 24 May 2010 07:56:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55134) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OGWH1-0008RD-Je for qemu-devel@nongnu.org; Mon, 24 May 2010 07:56:47 -0400 Message-ID: <4BFA696D.2060606@redhat.com> Date: Mon, 24 May 2010 14:56:29 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm References: <20100519192222.GD61706@ncolin.muc.de> <4BF5A9D2.5080609@codemonkey.ws> <4BF91937.2070801@redhat.com> <87wrutg4dk.wl%morita.kazutaka@lab.ntt.co.jp> <4BFA5D96.3030603@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: MORITA Kazutaka Cc: kvm@vger.kernel.org, qemu-devel@nongnu.org, Blue Swirl , ceph-devel@vger.kernel.org, Christian Brunner On 05/24/2010 02:42 PM, MORITA Kazutaka wrote: > >> The server would be local and talk over a unix domain socket, perhaps >> anonymous. >> >> nbd has other issues though, such as requiring a copy and no support for >> metadata operations such as snapshot and file size extension. >> >> > Sorry, my explanation was unclear. I'm not sure how running servers > on localhost can solve the problem. > The local server can convert from the local (nbd) protocol to the remote (sheepdog, ceph) protocol. > What I wanted to say was that we cannot specify the image of VM. With > nbd protocol, command line arguments are as follows: > > $ qemu nbd:hostname:port > > As this syntax shows, with nbd protocol the client cannot pass the VM > image name to the server. > We would extend it to allow it to connect to a unix domain socket: qemu nbd:unix:/path/to/socket The server at the other end would associate the socket with a filename and forward it to the server using the remote protocol. However, I don't think nbd would be a good protocol. My preference would be for a plugin API, or for a new local protocol that uses splice() to avoid copies. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.