You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[SCSI] iscsi: extended cdb support
Support for extended CDBs in iscsi. All we need is to check if command spills over 16 bytes then allocate an iscsi-extended-header for the leftovers. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Reviewed-by: Pete Wyckoff <pw@osc.edu> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
committed by
James Bottomley
parent
57b7658aed
commit
38d1c069db
@@ -112,6 +112,7 @@ struct iscsi_ahs_hdr {
|
||||
|
||||
#define ISCSI_AHSTYPE_CDB 1
|
||||
#define ISCSI_AHSTYPE_RLENGTH 2
|
||||
#define ISCSI_CDB_SIZE 16
|
||||
|
||||
/* iSCSI PDU Header */
|
||||
struct iscsi_cmd {
|
||||
@@ -125,7 +126,7 @@ struct iscsi_cmd {
|
||||
__be32 data_length;
|
||||
__be32 cmdsn;
|
||||
__be32 exp_statsn;
|
||||
uint8_t cdb[16]; /* SCSI Command Block */
|
||||
uint8_t cdb[ISCSI_CDB_SIZE]; /* SCSI Command Block */
|
||||
/* Additional Data (Command Dependent) */
|
||||
};
|
||||
|
||||
@@ -154,7 +155,8 @@ struct iscsi_ecdb_ahdr {
|
||||
__be16 ahslength; /* CDB length - 15, including reserved byte */
|
||||
uint8_t ahstype;
|
||||
uint8_t reserved;
|
||||
uint8_t ecdb[260 - 16]; /* 4-byte aligned extended CDB spillover */
|
||||
/* 4-byte aligned extended CDB spillover */
|
||||
uint8_t ecdb[260 - ISCSI_CDB_SIZE];
|
||||
};
|
||||
|
||||
/* SCSI Response Header */
|
||||
|
||||
Reference in New Issue
Block a user