All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.