- add varlen_cdb and varlen_cdb_len to hold a large user cdb if needed. They start as empty. Allocation of buffer must be done by user and held until request execution is done. Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx> --- block/ll_rw_blk.c | 2 ++ include/linux/blkdev.h | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index b01dee3..df478f2 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -261,6 +261,8 @@ static void rq_init(struct request_queue *q, struct request *rq) rq->end_io_data = NULL; rq->completion_data = NULL; rq->next_rq = NULL; + rq->varlen_cdb_len = 0; + rq->varlen_cdb = NULL; } /** diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index bbf906a..990643d 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -287,8 +287,13 @@ struct request { /* * when request is used as a packet command carrier */ - unsigned int cmd_len; + unsigned short cmd_len; + unsigned short varlen_cdb_len; /* length of varlen_cdb buffer */ unsigned char cmd[BLK_MAX_CDB]; + unsigned char *varlen_cdb; /* an optional variable-length cdb. + * points to a user buffer that must be + * valid until end of request + */ unsigned int data_len; unsigned int sense_len; -- 1.5.3.1 - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html