summaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_request.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2017-02-17 22:08:19 +0100
committerJens Axboe <axboe@fb.com>2017-02-17 22:08:19 +0100
commit818551e2b2c662a1b26de6b4f7d6b8411a838d18 (patch)
treef38b4c951df4d33db81ae7b7765a56bce491c2a8 /include/scsi/scsi_request.h
parentMerge branch 'for-4.11/block' into for-4.11/linus-merge (diff)
parentblock: don't defer flushes on blk-mq + scheduling (diff)
downloadlinux-818551e2b2c662a1b26de6b4f7d6b8411a838d18.tar.xz
linux-818551e2b2c662a1b26de6b4f7d6b8411a838d18.zip
Merge branch 'for-4.11/next' into for-4.11/linus-merge
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/scsi/scsi_request.h')
-rw-r--r--include/scsi/scsi_request.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/scsi/scsi_request.h b/include/scsi/scsi_request.h
new file mode 100644
index 000000000000..ba0aeb980f7e
--- /dev/null
+++ b/include/scsi/scsi_request.h
@@ -0,0 +1,30 @@
+#ifndef _SCSI_SCSI_REQUEST_H
+#define _SCSI_SCSI_REQUEST_H
+
+#include <linux/blk-mq.h>
+
+#define BLK_MAX_CDB 16
+
+struct scsi_request {
+ unsigned char __cmd[BLK_MAX_CDB];
+ unsigned char *cmd;
+ unsigned short cmd_len;
+ unsigned int sense_len;
+ unsigned int resid_len; /* residual count */
+ void *sense;
+};
+
+static inline struct scsi_request *scsi_req(struct request *rq)
+{
+ return blk_mq_rq_to_pdu(rq);
+}
+
+static inline void scsi_req_free_cmd(struct scsi_request *req)
+{
+ if (req->cmd != req->__cmd)
+ kfree(req->cmd);
+}
+
+void scsi_req_init(struct request *);
+
+#endif /* _SCSI_SCSI_REQUEST_H */