Linux SCSI subsystem development
 help / color / mirror / Atom feed
* [PATCH-v2 00/11] vhost/scsi: Add ANY_LAYOUT + VERSION_1 support
@ 2015-02-02  4:06 Nicholas A. Bellinger
  2015-02-02  4:06 ` [PATCH-v2 01/11] lib/iovec: Add memcpy_fromiovec_out library function Nicholas A. Bellinger
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Nicholas A. Bellinger @ 2015-02-02  4:06 UTC (permalink / raw)
  To: target-devel
  Cc: linux-scsi, kvm-devel, Paolo Bonzini, Michael S. Tsirkin,
	Nicholas Bellinger

From: Nicholas Bellinger <nab@linux-iscsi.org>

Hi MST, Paolo, & Co,

This -v2 series adds vhost/scsi ANY_LAYOUT + VERSION_1 host feature bit
support.

It adds a new vhost_virtqueue ->handle_kick() callback to determine the
start of protection and data payloads iovecs past starting virtio-scsi
request and response headers, based upon data_direction.

It assumes request/CDB and response/sense_buffer headers may span more
than a single iovec using lib/iovec.c logic, and adds a new addition of
memcpy_fromiovec_out() to return the current re-calcuated **iov_out.

It also allows virtio-scsi headers + T10_PI + Data SGL payloads to span
the same iovec when pinning user-space memory via get_user_pages_fast()
code.  (Not tested yet)

It's currently functioning against v3.19-rc1 virtio-scsi LLD in T10_PI
mode with ANY_LAYOUT -> VERSION_1 guest feature bits enabled, using the
layout following existing convention with protection/data SGL payloads
residing within seperate iovecs.

Here's how the changelog is looking:

v2 changes:
  - Update memcpy_fromiovec_out usage comment
  - Clear ->tvc_sgl_count for vhost_scsi_mapal failure
  - Make vhost_scsi_mapal + vhost_scsi_calc_sgls accept max_niov
  - Update vhost_scsi_handle_vqal comments
  - Minor vhost_scsi_handle_vqal simplifications
  - Add missing minimum virtio-scsi response buffer size check
  - Fix pi_bytes* error message typo
  - Convert to use vhost_skip_iovec_bytes() common code
  - Add max_niov sanity checks vs. out + in offset into vq
  - Drop legacy pre virtio v1.0 !ANY_LAYOUT code

Also included in patch #11 is an over-due change to rename code in scsi.c
to line up with modern vhost_scsi naming convention.

Please review.

Thank you,

--nab

Nicholas Bellinger (11):
  lib/iovec: Add memcpy_fromiovec_out library function
  vhost/scsi: Convert completion path to use memcpy_toiovecend
  vhost/scsi: Fix incorrect early vhost_scsi_handle_vq failures
  vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len
  vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites
  vhost/scsi: Add ANY_LAYOUT vhost_skip_iovec_bytes helper
  vhost/scsi: Add ANY_LAYOUT vhost_virtqueue callback
  vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
  vhost/scsi: Drop legacy pre virtio v1.0 !ANY_LAYOUT logic
  vhost/scsi: Drop left-over scsi_tcq.h include
  vhost/scsi: Global tcm_vhost -> vhost_scsi rename

 drivers/vhost/scsi.c | 1125 +++++++++++++++++++++++++++-----------------------
 include/linux/uio.h  |    2 +
 lib/iovec.c          |   35 ++
 3 files changed, 646 insertions(+), 516 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-02-02  4:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-02  4:06 [PATCH-v2 00/11] vhost/scsi: Add ANY_LAYOUT + VERSION_1 support Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 01/11] lib/iovec: Add memcpy_fromiovec_out library function Nicholas A. Bellinger
2015-02-02  4:44   ` Al Viro
2015-02-02  4:47     ` Al Viro
2015-02-02  4:06 ` [PATCH-v2 02/11] vhost/scsi: Convert completion path to use memcpy_toiovecend Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 03/11] vhost/scsi: Fix incorrect early vhost_scsi_handle_vq failures Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 04/11] vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 05/11] vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 06/11] vhost/scsi: Add ANY_LAYOUT vhost_skip_iovec_bytes helper Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 07/11] vhost/scsi: Add ANY_LAYOUT vhost_virtqueue callback Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 08/11] vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 09/11] vhost/scsi: Drop legacy pre virtio v1.0 !ANY_LAYOUT logic Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 10/11] vhost/scsi: Drop left-over scsi_tcq.h include Nicholas A. Bellinger
2015-02-02  4:06 ` [PATCH-v2 11/11] vhost/scsi: Global tcm_vhost -> vhost_scsi rename Nicholas A. Bellinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox