vhost-scsi: Include prot_bytes into expected data transfer length
authorNicholas Bellinger <nab@linux-iscsi.org>
Tue, 10 Jun 2014 08:19:38 +0000 (01:19 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 11 Jun 2014 20:06:50 +0000 (13:06 -0700)
This patch updates vhost_scsi_get_tag() to accept the combined
expected data transfer length + T10 PI bytes as the value passed
into target_submit_cmd().

This is required now that target-core logic in commit 14ef9200
expects to subtract se_cmd->prot_length from se_cmd->data_length.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/vhost/scsi.c

index 667e72d46998e7e9c7232d6aa30844f0c42fd813..03e484fa1ef4eca9109b9a49d2d472551a05b455 100644 (file)
@@ -1144,7 +1144,8 @@ vhost_scsi_handle_vq(struct vhost_scsi *vs, struct vhost_virtqueue *vq)
                }
 
                cmd = vhost_scsi_get_tag(vq, tpg, cdb, tag, lun, task_attr,
-                                        exp_data_len, data_direction);
+                                        exp_data_len + prot_bytes,
+                                        data_direction);
                if (IS_ERR(cmd)) {
                        vq_err(vq, "vhost_scsi_get_tag failed %ld\n",
                                        PTR_ERR(cmd));