target: Simplify fabric sense data length handling
Every fabric driver has to supply a se_tfo->set_fabric_sense_len() method, just so iSCSI can return an offset of 2. However, every fabric driver is already allocating a sense buffer and passing it into the target core, either via transport_init_se_cmd() or target_submit_cmd(). So instead of having iSCSI pass the start of its sense buffer into the core and then later tell the core to skip the first 2 bytes, it seems easier for iSCSI just to do the offset of 2 when it passes the sense buffer into the core. Then we can drop the se_tfo->set_fabric_sense_len() everywhere, and just add a couple of lines of code to iSCSI to set the sense data length to the beginning of the buffer right before it sends it over the network. (nab: Remove .set_fabric_sense_len usage from tcm_qla2xxx_npiv_ops + change transport_get_sense_buffer to follow v3.6-rc6 code w/o ->set_fabric_sense_len usage) Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:

committed by
Nicholas Bellinger

parent
2ed772b7b9
commit
9c58b7ddd7
@@ -3564,11 +3564,6 @@ static int srpt_get_tcm_cmd_state(struct se_cmd *se_cmd)
|
||||
return srpt_get_cmd_state(ioctx);
|
||||
}
|
||||
|
||||
static u16 srpt_set_fabric_sense_len(struct se_cmd *cmd, u32 sense_length)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* srpt_parse_i_port_id() - Parse an initiator port ID.
|
||||
* @name: ASCII representation of a 128-bit initiator port ID.
|
||||
@@ -3948,7 +3943,6 @@ static struct target_core_fabric_ops srpt_template = {
|
||||
.queue_data_in = srpt_queue_response,
|
||||
.queue_status = srpt_queue_status,
|
||||
.queue_tm_rsp = srpt_queue_response,
|
||||
.set_fabric_sense_len = srpt_set_fabric_sense_len,
|
||||
/*
|
||||
* Setup function pointers for generic logic in
|
||||
* target_core_fabric_configfs.c
|
||||
|
Reference in New Issue
Block a user