/* SPDX-License-Identifier: GPL-2.0 */ | |
#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; | |
int result; | |
unsigned int sense_len; | |
unsigned int resid_len; /* residual count */ | |
int retries; | |
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 scsi_request *req); | |
#endif /* _SCSI_SCSI_REQUEST_H */ |