From: Stefan Hajnoczi <stefanha@gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Christoph Hellwig <chellwig@redhat.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
"Nicholas A. Bellinger" <nab@linux-iscsi.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Hannes Reinecke <hare@suse.de>,
Linux Virtualization <virtualization@lists.linux-foundation.org>
Subject: Re: [Qemu-devel] virtio scsi host draft specification, v3
Date: Wed, 29 Jun 2011 10:39:42 +0100 [thread overview]
Message-ID: <BANLkTik2AXXkWvV23OP1eDdLirP2N0PC3A@mail.gmail.com> (raw)
In-Reply-To: <4E0AE36B.9010500@redhat.com>
On Wed, Jun 29, 2011 at 9:33 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 06/14/2011 10:39 AM, Hannes Reinecke wrote:
>> If, however, we decide to expose some details about the backend, we
>> could be using the values from the backend directly.
>> EG we could be forwarding the SCSI target port identifier here
>> (if backed by real hardware) or creating our own SAS-type
>> identifier when backed by qemu block. Then we could just query
>> the backend via a new command on the controlq
>> (eg 'list target ports') and wouldn't have to worry about any protocol
>> specific details here.
>
> Besides the controlq command, which I can certainly add, this is
> actually quite similar to what I had in mind (though my plan likely
> would not have worked because I was expecting hierarchical LUNs used
> uniformly). So, "list target ports" would return a set of LUN values to
> which you can send REPORT LUNS, or something like that?
I think we're missing a level of addressing. We need the ability to
talk to multiple target ports in order for "list target ports" to make
sense. Right now there is one implicit target that handles all
commands. That means there is one fixed I_T Nexus.
If we introduce "list target ports" we also need a way to say "This
CDB is destined for target port #0". Then it is possible to enumerate
target ports and address targets independently of the LUN field in the
CDB.
I'm pretty sure this is also how SAS and other transports work. In
their framing they include the target port.
The question is whether we really need to support multiple targets on
a virtio-scsi adapter or not. If you are selectively mapping LUNs
that the guest may access, then multiple targets are not necessary.
If we want to do pass-through of the entire SCSI bus then we need
multiple targets but I'm not sure if there are other challenges like
dependencies on the transport (Fibre Channel, SAS, etc) which make it
impossible to pass through bus-level access?
> If I understand it correctly, it should remain possible to use a single
> host for both pass-through and emulated targets.
Yes.
>> Of course, when doing so we would be lose the ability to freely remap
>> LUNs. But then remapping LUNs doesn't gain you much imho.
>> Plus you could always use qemu block backend here if you want
>> to hide the details.
>
> And you could always use the QEMU block backend with scsi-generic if you
> want to remap LUNs, instead of true passthrough via the kernel target.
IIUC the in-kernel target always does remapping. It passes through
individual LUNs rather than entire targets and you pick LU Numbers to
map to the backing storage (which may or may not be a SCSI
pass-through device). Nicholas Bellinger can confirm whether this is
correct.
Stefan
next prev parent reply other threads:[~2011-06-29 9:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 13:43 [Qemu-devel] virtio scsi host draft specification, v3 Paolo Bonzini
2011-06-08 23:28 ` Rusty Russell
2011-06-09 6:59 ` Paolo Bonzini
2011-06-10 11:33 ` Rusty Russell
2011-06-10 12:14 ` Stefan Hajnoczi
2011-06-10 12:22 ` Paolo Bonzini
2011-06-10 12:55 ` Hannes Reinecke
2011-06-10 14:35 ` Paolo Bonzini
2011-06-14 8:39 ` Hannes Reinecke
2011-06-14 15:53 ` Stefan Hajnoczi
2011-06-29 8:33 ` Paolo Bonzini
2011-06-29 9:39 ` Stefan Hajnoczi [this message]
2011-06-29 10:07 ` Christoph Hellwig
2011-06-29 10:23 ` Hannes Reinecke
2011-06-29 10:27 ` Christoph Hellwig
2011-07-01 6:41 ` Paolo Bonzini
2011-07-01 7:14 ` Hannes Reinecke
2011-07-01 8:35 ` Paolo Bonzini
2011-07-04 13:38 ` Hai Dong,Li
2011-07-04 14:22 ` Stefan Hajnoczi
2011-06-12 7:51 ` Michael S. Tsirkin
2011-06-14 15:30 ` Hannes Reinecke
2011-06-29 10:00 ` Christoph Hellwig
2011-06-29 8:23 ` Paolo Bonzini
2011-06-29 8:46 ` Michael S. Tsirkin
2011-06-29 10:03 ` Christoph Hellwig
2011-06-29 10:06 ` Paolo Bonzini
2011-06-29 10:31 ` Michael S. Tsirkin
2011-06-29 10:35 ` Paolo Bonzini
2011-06-29 10:01 ` Christoph Hellwig
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=BANLkTik2AXXkWvV23OP1eDdLirP2N0PC3A@mail.gmail.com \
--to=stefanha@gmail.com \
--cc=chellwig@redhat.com \
--cc=hare@suse.de \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=nab@linux-iscsi.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
--cc=virtualization@lists.linux-foundation.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).