qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).