@@ -945,14 +945,12 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
* scsi_result_to_blk_status may have reset the host_byte
*/
scsi_req(req)->result = cmd->result;
- scsi_req(req)->resid_len = scsi_get_resid(cmd);
if (unlikely(scsi_bidi_cmnd(cmd))) {
/*
* Bidi commands Must be complete as a whole,
* both sides at once.
*/
- scsi_req(req->next_rq)->resid_len = scsi_in(cmd)->resid;
if (scsi_end_request(req, BLK_STS_OK, blk_rq_bytes(req),
blk_rq_bytes(req->next_rq)))
WARN_ONCE(true,
@@ -35,7 +35,6 @@ struct scsi_driver;
struct scsi_data_buffer {
struct sg_table table;
unsigned length;
- int resid;
};
/* embedded in scsi_cmnd */
@@ -229,22 +228,22 @@ static inline unsigned scsi_bufflen(struct scsi_cmnd *cmd)
static inline void scsi_in_set_resid(struct scsi_cmnd *cmd, int resid)
{
- scsi_in_cmd(cmd)->sdb.resid = resid;
+ scsi_in_cmd(cmd)->req.resid_len = resid;
}
static inline int scsi_in_get_resid(struct scsi_cmnd *cmd)
{
- return scsi_in_cmd(cmd)->sdb.resid;
+ return scsi_in_cmd(cmd)->req.resid_len;
}
static inline void scsi_out_set_resid(struct scsi_cmnd *cmd, int resid)
{
- cmd->sdb.resid = resid;
+ cmd->req.resid_len = resid;
}
static inline int scsi_out_get_resid(struct scsi_cmnd *cmd)
{
- return cmd->sdb.resid;
+ return cmd->req.resid_len;
}
static inline void scsi_set_resid(struct scsi_cmnd *cmd, int resid)
This patch does not change any functionality but reduces the size of struct scsi_cmnd. Cc: Douglas Gilbert <dgilbert@interlog.com> Cc: Hannes Reinecke <hare@suse.com> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- drivers/scsi/scsi_lib.c | 2 -- include/scsi/scsi_cmnd.h | 9 ++++----- 2 files changed, 4 insertions(+), 7 deletions(-)