summaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2014-05-01 16:51:50 +0200
committerChristoph Hellwig <hch@lst.de>2014-05-19 19:57:23 +0200
commitb54197c43db88f4436717f554d623189cddce29e (patch)
treed8ea18d1b76b79e5c82a0c17196971d9cfff94a1 /include/scsi
parentfdbcbcab0eae6773430546697ace0b3fe48e7fbc (diff)
downloadlinux-b54197c43db88f4436717f554d623189cddce29e.tar.bz2
virtio_scsi: use cmd_size
Taken almost entirely from Nicholas Bellinger's scsi-mq conversion. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/scsi_cmnd.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h
index dd7c998221b3..e016e2ac38df 100644
--- a/include/scsi/scsi_cmnd.h
+++ b/include/scsi/scsi_cmnd.h
@@ -133,6 +133,15 @@ struct scsi_cmnd {
unsigned char tag; /* SCSI-II queued command tag */
};
+/*
+ * Return the driver private allocation behind the command.
+ * Only works if cmd_size is set in the host template.
+ */
+static inline void *scsi_cmd_priv(struct scsi_cmnd *cmd)
+{
+ return cmd + 1;
+}
+
/* make sure not to use it with REQ_TYPE_BLOCK_PC commands */
static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd)
{