From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: kvm@vger.kernel.org, qemu-devel@nongnu.org,
Blue Swirl <blauwirbel@gmail.com>,
ceph-devel@vger.kernel.org, Christian Brunner <chb@muc.de>,
MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Subject: Re: [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm
Date: Wed, 26 May 2010 11:44:43 +0300 [thread overview]
Message-ID: <4BFCDF7B.4080109@redhat.com> (raw)
In-Reply-To: <4BFBD88D.9090002@codemonkey.ws>
On 05/25/2010 05:02 PM, Anthony Liguori wrote:
> On 05/25/2010 08:57 AM, Avi Kivity wrote:
>> On 05/25/2010 04:54 PM, Anthony Liguori wrote:
>>> On 05/25/2010 08:36 AM, Avi Kivity wrote:
>>>>
>>>> We'd need a kernel-level generic snapshot API for this eventually.
>>>>
>>>>> or (2) implement BUSE to complement FUSE and CUSE to enable proper
>>>>> userspace block devices.
>>>>
>>>> Likely slow due do lots of copying. Also needs a snapshot API.
>>>
>>> The kernel could use splice.
>>
>> Still can't make guest memory appear in (A)BUSE process memory
>> without either mmu tricks (vmsplice in reverse) or a copy. May be
>> workable for an (A)BUSE driver that talks over a network, and thus
>> can splice() its way out.
>
> splice() actually takes offset parameter so it may be possible to
> treat that offset parameter as a file offset. That would essentially
> allow you to implement a splice() based thread pool where splice()
> replaces preadv/pwritev.
Right.
(note: need splicev() here)
>
> It's not quite linux-aio, but it should take you pretty far. I think
> the main point is that the problem of allowing block plugins to qemu
> is the same as block plugins for the kernel. The kernel doesn't
> provide a stable interface (and we probably can't for the same
> reasons) and it's generally discourage from a code quality perspective.
The kernel does provide a stable interface for FUSE, and it could
provide a stable interface for ABUSE. Why can the kernel support these
and qemu can't support essentially the same thing?
> That said, making an external program work well as a block backend is
> identical to making userspace block devices fast.
More or less, yes.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-05-26 8:55 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 19:22 [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm Christian Brunner
2010-05-20 20:31 ` Blue Swirl
2010-05-20 21:18 ` Christian Brunner
2010-05-20 21:29 ` Anthony Liguori
2010-05-20 22:16 ` Christian Brunner
2010-05-21 5:28 ` Stefan Hajnoczi
2010-05-21 6:13 ` MORITA Kazutaka
2010-05-21 5:54 ` MORITA Kazutaka
2010-05-23 12:01 ` Avi Kivity
2010-05-24 7:12 ` MORITA Kazutaka
2010-05-24 11:05 ` Avi Kivity
2010-05-24 11:42 ` MORITA Kazutaka
2010-05-24 11:56 ` Avi Kivity
2010-05-24 12:07 ` Cláudio Martins
2010-05-24 14:01 ` MORITA Kazutaka
2010-05-24 19:07 ` Christian Brunner
2010-05-24 19:38 ` Anthony Liguori
2010-05-25 9:14 ` Avi Kivity
2010-05-25 13:17 ` Anthony Liguori
2010-05-25 13:25 ` Avi Kivity
2010-05-25 13:29 ` Anthony Liguori
2010-05-25 13:36 ` Avi Kivity
2010-05-25 13:54 ` Anthony Liguori
2010-05-25 13:57 ` Avi Kivity
2010-05-25 14:02 ` Anthony Liguori
2010-05-26 8:44 ` Avi Kivity [this message]
2010-05-25 14:01 ` Kevin Wolf
2010-05-25 16:21 ` Avi Kivity
2010-05-25 17:12 ` Sage Weil
2010-05-26 5:24 ` MORITA Kazutaka
2010-05-26 8:46 ` Avi Kivity
2010-05-24 19:16 ` Anthony Liguori
2010-05-25 9:19 ` Avi Kivity
2010-05-25 13:26 ` MORITA Kazutaka
2010-05-24 8:27 ` Stefan Hajnoczi
2010-05-24 11:03 ` Avi Kivity
2010-05-24 19:19 ` Anthony Liguori
2010-05-25 9:22 ` Avi Kivity
2010-05-25 11:02 ` Kevin Wolf
2010-05-25 11:25 ` Avi Kivity
2010-05-25 12:03 ` Christoph Hellwig
2010-05-25 12:13 ` Avi Kivity
2010-05-25 13:25 ` Anthony Liguori
2010-05-25 13:31 ` Avi Kivity
2010-05-25 13:35 ` Anthony Liguori
2010-05-25 13:38 ` Avi Kivity
2010-05-25 13:55 ` Anthony Liguori
2010-05-25 14:01 ` Avi Kivity
2010-05-25 14:05 ` Anthony Liguori
2010-05-25 15:00 ` Avi Kivity
2010-05-25 15:01 ` Anthony Liguori
2010-05-25 16:16 ` Avi Kivity
2010-05-25 16:21 ` Anthony Liguori
2010-05-25 16:27 ` Avi Kivity
2010-05-25 13:53 ` Kevin Wolf
2010-05-25 13:55 ` Avi Kivity
2010-05-25 14:03 ` Anthony Liguori
2010-05-25 15:02 ` Avi Kivity
2010-05-25 14:09 ` Kevin Wolf
2010-05-25 15:01 ` Avi Kivity
2010-05-20 23:02 ` Yehuda Sadeh Weinraub
2010-05-23 7:59 ` Blue Swirl
2010-05-24 2:17 ` Yehuda Sadeh Weinraub
2010-05-25 20:13 ` Blue Swirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BFCDF7B.4080109@redhat.com \
--to=avi@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=blauwirbel@gmail.com \
--cc=ceph-devel@vger.kernel.org \
--cc=chb@muc.de \
--cc=kvm@vger.kernel.org \
--cc=morita.kazutaka@lab.ntt.co.jp \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).