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 <mchri...@redhat.com>
> Cc: Amar Tumballi<atumb...@redhat.com>
> Cc: Prasanna Kalever <pkale...@redhat.com>
> Cc: Paolo Bonzini <pbonz...@redhat.com>
> Signed-off-by: Fam Zheng <f...@redhat.com>
> Signed-off-by: Yaowei Bai <baiyao...@cmss.chinamobile.com>
> Signed-off-by: Xiubo Li <xiu...@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.

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

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

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

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

Kevin

Reply via email to