Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
[linux-2.6-block.git] / include / scsi / scsi_request.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
82ed4db4
CH
2#ifndef _SCSI_SCSI_REQUEST_H
3#define _SCSI_SCSI_REQUEST_H
4
5#include <linux/blk-mq.h>
6
7#define BLK_MAX_CDB 16
8
9struct scsi_request {
10 unsigned char __cmd[BLK_MAX_CDB];
11 unsigned char *cmd;
12 unsigned short cmd_len;
17d5363b 13 int result;
82ed4db4
CH
14 unsigned int sense_len;
15 unsigned int resid_len; /* residual count */
64c7f1d1 16 int retries;
82ed4db4
CH
17 void *sense;
18};
19
20static inline struct scsi_request *scsi_req(struct request *rq)
21{
22 return blk_mq_rq_to_pdu(rq);
23}
24
25static inline void scsi_req_free_cmd(struct scsi_request *req)
26{
27 if (req->cmd != req->__cmd)
28 kfree(req->cmd);
29}
30
c8d9cf22 31void scsi_req_init(struct scsi_request *req);
82ed4db4
CH
32
33#endif /* _SCSI_SCSI_REQUEST_H */