qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Yaowei Bai <baiyaowei@cmss.chinamobile.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org,
	Amar Tumballi <atumball@redhat.com>,
	Mike Christie <mchristi@redhat.com>,
	Prasanna Kalever <pkalever@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>, Xiubo Li <xiubli@redhat.com>,
	Fam Zheng <fam@euphoh.net>, stefanha <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH] tcmu: Introduce qemu-tcmu utility
Date: Thu, 7 Mar 2019 16:20:18 +0800	[thread overview]
Message-ID: <20190307082018.GA26350@byw> (raw)
In-Reply-To: <20190306215633.GM6818@localhost.localdomain>

On Wed, Mar 06, 2019 at 10:56:33PM +0100, Kevin Wolf wrote:
> Am 21.12.2018 um 11:16 hat Yaowei Bai geschrieben:
> > This patch introduces a new utility, qemu-tcmu. Apart from the
> > underlaying protocol it interacts with the world much like
> > qemu-nbd. This patch bases on Fam's version.
> > 
> > Qemu-tcmu handles SCSI commands which are passed through userspace
> > from kernel by LIO subsystem using TCMU protocol. Libtcmu is the
> > library for processing TCMU protocol in userspace. With qemu-tcmu,
> > we can export images/formats like qcow2, rbd, etc. that qemu supports
> > using iSCSI protocol or loopback for remote or local access.
> > 
> > Currently qemu-tcmu implements several SCSI command helper functions
> > to work. Our goal is to refactor and reuse SCSI code in scsi-disk.
> > 
> > Please refer to docs/tcmu.txt to use qemu-tcmu. We test it on CentOS
> > 7.3.(Please use 3.10.0-514 or lower version kernel, there's one issuse
> > in higher kernel version we're resolving.)
> > 
> > Cc: Mike Christie <mchristi@redhat.com>
> > Cc: Amar Tumballi<atumball@redhat.com>
> > Cc: Prasanna Kalever <pkalever@redhat.com>
> > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > Signed-off-by: Fam Zheng <famz@redhat.com>
> > Signed-off-by: Yaowei Bai <baiyaowei@cmss.chinamobile.com>
> > Signed-off-by: Xiubo Li <xiubli@redhat.com>
> 
> Sorry, with the email backlog after the Christmas break, this patch went
> completely unnoticed on my side.
> 
> I'm not going to review the code in detail yet, because I think there
> are a few very high level points that need to be addressed first:
> 
> * Patchew replied with a ton of coding style problems. This patch isn't
>   mergable without these problems fixed.

These problems've been fixed in the V2 and it'll be sent out soon.
Thanks.

> 
> * The first priority should be adding an in-process iscsi target that
>   can be managed with QMP, similar to the built-in NBD server.

Well, people used to manage iscsi targets through targetcli, a command
line utility. Our intention is, with targetcli and qemu-tcmu, user can
create/remove targets and backstores totally in just one place, so you
don't need to create targets in targetcli and then turn to configure
backstores in qemu-tcmu with QMP or command line, it's convenient. So
we decide to implement QMP in the future release but it's definitely
in our plan.

> 
> * The standalone tool should configure its block backend using -blockdev
>   based code paths instead of duplicating legacy -drive code, which
>   cannot provide advanced functionality.

OK, will turn into -blockdev based code paths. Thanks.

> 
> * Even worse, you can't get the configuration from the iscsi initiator.
>   This would be a security nightmare. Instead, the user needs to
>   configure named exports either in QMP or on the command line for the
>   tool and the initiator then connects to an export name.

So you mean we should configure exports through iscsi initiator? Sorry i
don't understand the problems here, could you please explain more?

> 
> * It should be considered if we can have a single standalone tool for
>   all export mechanisms (NBD, TCMU, vhost-user, fuse, and whatever new
>   ideas we will have in the future) that could have advanced
>   functionality like a QMP monitor instead of adding a minimal
>   specialised tool for each of them.

That's a great and exciting idea so we don't need one qemu-nbd, one
qemu-tcmu, or more qemu-xxx at the same time, there's just one standalone
tool to use, maybe we can even instead add a new 'export' subcommand to
qemu-img for this purpose.

> 
> Kevin

  reply	other threads:[~2019-03-07  8:20 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-21 10:16 [Qemu-devel] [PATCH] tcmu: Introduce qemu-tcmu utility Yaowei Bai
2018-12-26  7:59 ` no-reply
2018-12-26  8:19 ` no-reply
2019-01-02  1:53   ` Yaowei Bai
2019-03-06 21:56 ` [Qemu-devel] [Qemu-block] " Kevin Wolf
2019-03-07  8:20   ` Yaowei Bai [this message]
2019-03-07  8:44   ` Yaowei Bai
2019-03-07 11:25     ` Kevin Wolf
2019-03-08  7:22       ` Yaowei Bai
2019-03-08 10:08         ` Kevin Wolf
2019-03-09  1:46           ` Yaowei Bai
2019-03-11 11:06             ` Kevin Wolf
2019-03-12  2:18               ` Fam Zheng
2019-03-07 10:22   ` Stefan Hajnoczi
2019-03-07 10:34     ` Kevin Wolf
2019-03-11  9:55       ` 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=20190307082018.GA26350@byw \
    --to=baiyaowei@cmss.chinamobile.com \
    --cc=atumball@redhat.com \
    --cc=fam@euphoh.net \
    --cc=kwolf@redhat.com \
    --cc=mchristi@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=pkalever@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=xiubli@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).