diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2015-01-25 21:14:58 -0800 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2015-02-04 10:55:37 -0800 |
commit | 09b13fa8c1a1093e9458549ac8bb203a7c65c62a (patch) | |
tree | cd107aeab2fb6b1e6e1debc868ef8773bb777710 /include | |
parent | e8de56b5e76ab7ed2a4aa3476649fe3fa85de1d7 (diff) | |
download | linux-09b13fa8c1a1093e9458549ac8bb203a7c65c62a.tar.bz2 |
vhost/scsi: Add ANY_LAYOUT support in vhost_scsi_handle_vq
This patch adds ANY_LAYOUT compatible support within the existing
vhost_scsi_handle_vq() ->handle_kick() callback.
It calculates data_direction + exp_data_len for the new tcm_vhost_cmd
descriptor by walking both outgoing + incoming iovecs using iov_iter,
assuming the layout of outgoing request header + T10_PI + Data payload
comes first.
It also uses copy_from_iter() to copy leading virtio-scsi request header
that may or may not include SCSI CDB, that returns a re-calculated iovec
to start of T10_PI or Data SGL memory.
Also, go ahead and drop the legacy pre virtio v1.0 !ANY_LAYOUT logic.
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions