From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Andy Grover <agrover@redhat.com>
Cc: "Benoît Canet" <benoit.canet@irqsave.net>,
kwolf@redhat.com, qemu-devel@nongnu.org,
"Richard W.M. Jones" <rjones@redhat.com>,
stefanha@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] tcmu-runner and QEMU
Date: Sun, 31 Aug 2014 22:38:29 +0200 [thread overview]
Message-ID: <20140831203828.GA23970@irqsave.net> (raw)
In-Reply-To: <54037F82.9050209@redhat.com>
The Sunday 31 Aug 2014 à 13:03:14 (-0700), Andy Grover wrote :
> On 08/30/2014 09:02 AM, Richard W.M. Jones wrote:
> >On Sat, Aug 30, 2014 at 05:53:43PM +0200, Benoît Canet wrote:
> >>If the cloud provider want to be able to boot QCOW2 or QED images on
> >>bare metal machines he will need to export QCOW2 or QED images on
> >>the network.
> >>
> >>So far only qemu-nbd allows to do this and it is neither well
> >>performing nor really convenient to boot on a bare metal machine.
> >
> >So I think what you want is a `qemu-iscsi'? ie. the same as qemu-nbd,
> >but with an iSCSI frontend (to replace the NBD server).
>
> You want qemu to be able to issue SCSI commands over iSCSI? I thought qemu
> used libiscsi for this, to be the initiator. What Benoit and I have been
> discussing is the other side, enabling qemu to configure LIO to handle
> requests from other initiators (either VMs or iron) over iSCSI or FCoE, but
> backed by qcow2 disk images. The problem being LIO doesn't speak qcow2 yet.
>
> >I guess so. Are you planning to integrate bits of LIO into qemu, or
> >bits of qemu into LIO?
>
> My current thinking is 1) enable qemu to configure the LIO kernel target
> (it's all straightforward via configfs, but add a nice library to qemu to
> hide the details) and 2) enable LIO to use qcow2 and other formats besides
> raw images to back exported LUNs. This is where the LIO userspace
> passthrough and tcmu-runner come in, because we want to do this in
> userspace, not as kernel code, so we have to pass SCSI commands up to a
> userspace helper daemon.
>
> >The latter has been tried various times, without much success. See
> >the many examples of people trying to make the qemu block driver code
> >into a separate library, and failing.
>
The problem with QEMU block drivers is that they are using either coroutines
or QEMU custom AIO callbacks so reusing them without the block layer is
not doable.
For the QEMU block layer as a whole it maintains some linked lists of block devices
states or similar stuff as static global variables.
(See https://github.com/qemu/qemu/blob/master/block.c#L96)
So having more than one instance of the block layer running is not doable.
I am not aware of anyone successfull in turning it into a proper .so.
Extracting into a binary acting as an nbd target was done with qemu-nbd though.
Best regards
Benoît
> What's been the sticking point?
>
> Regards -- Andy
>
>
next prev parent reply other threads:[~2014-08-31 20:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 17:22 [Qemu-devel] tcmu-runner and QEMU Benoît Canet
2014-08-29 18:38 ` Andy Grover
2014-08-29 18:51 ` Benoît Canet
2014-08-29 22:36 ` Andy Grover
2014-08-29 22:46 ` Benoît Canet
2014-08-30 14:46 ` Richard W.M. Jones
2014-08-30 15:53 ` Benoît Canet
2014-08-30 16:02 ` Richard W.M. Jones
2014-08-30 16:04 ` Richard W.M. Jones
2014-08-30 17:22 ` Benoît Canet
2014-08-30 21:50 ` Benoît Canet
2014-08-30 16:51 ` Benoît Canet
2014-08-31 20:03 ` Andy Grover
2014-08-31 20:38 ` Benoît Canet [this message]
2014-09-01 8:32 ` Paolo Bonzini
2014-09-01 8:08 ` Paolo Bonzini
2014-09-02 9:25 ` Stefan Hajnoczi
2014-09-03 0:20 ` Andy Grover
2014-09-03 7:34 ` Paolo Bonzini
2014-09-03 13:11 ` Stefan Hajnoczi
2014-09-04 13:24 ` Benoît Canet
2014-09-04 15:15 ` Andy Grover
2014-09-04 15:59 ` Benoît Canet
2014-09-04 20:16 ` Stefan Hajnoczi
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=20140831203828.GA23970@irqsave.net \
--to=benoit.canet@irqsave.net \
--cc=agrover@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rjones@redhat.com \
--cc=stefanha@redhat.com \
/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).