Skip to content

Commit

Permalink
target/pscsi: call spc_emulate_report_luns directly
Browse files Browse the repository at this point in the history
No need to indirect through spc_parse_cdb if we only ever call it for
REPORT LUNS emulation.

(nab: Add missing EXPORT_SYMBOL for spc_emulate_report_luns)

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Christoph Hellwig authored and Nicholas Bellinger committed Nov 7, 2012
1 parent d1b1f80 commit 8de530a
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 10 deletions.
11 changes: 2 additions & 9 deletions drivers/target/target_core_pscsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -985,8 +985,6 @@ static inline void pscsi_clear_cdb_lun(unsigned char *cdb)
static int pscsi_parse_cdb(struct se_cmd *cmd)
{
unsigned char *cdb = cmd->t_task_cdb;
unsigned int dummy_size;
int ret;

if (cmd->se_cmd_flags & SCF_BIDI) {
cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION;
Expand All @@ -1003,10 +1001,7 @@ static int pscsi_parse_cdb(struct se_cmd *cmd)
*/
switch (cdb[0]) {
case REPORT_LUNS:
ret = spc_parse_cdb(cmd, &dummy_size);
if (ret)
return ret;
break;
return spc_emulate_report_luns(cmd);
case READ_6:
case READ_10:
case READ_12:
Expand All @@ -1020,10 +1015,8 @@ static int pscsi_parse_cdb(struct se_cmd *cmd)
/* FALLTHROUGH*/
default:
cmd->execute_cmd = pscsi_execute_cmd;
break;
return 0;
}

return 0;
}

static int pscsi_execute_cmd(struct se_cmd *cmd)
Expand Down
3 changes: 2 additions & 1 deletion drivers/target/target_core_spc.c
Original file line number Diff line number Diff line change
Expand Up @@ -908,7 +908,7 @@ static int spc_emulate_request_sense(struct se_cmd *cmd)
return 0;
}

static int spc_emulate_report_luns(struct se_cmd *cmd)
int spc_emulate_report_luns(struct se_cmd *cmd)
{
struct se_dev_entry *deve;
struct se_session *sess = cmd->se_sess;
Expand Down Expand Up @@ -970,6 +970,7 @@ static int spc_emulate_report_luns(struct se_cmd *cmd)
target_complete_cmd(cmd, GOOD);
return 0;
}
EXPORT_SYMBOL(spc_emulate_report_luns);

static int spc_emulate_testunitready(struct se_cmd *cmd)
{
Expand Down
1 change: 1 addition & 0 deletions include/target/target_core_backend.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ void target_complete_cmd(struct se_cmd *, u8);

int sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops);
int spc_parse_cdb(struct se_cmd *cmd, unsigned int *size);
int spc_emulate_report_luns(struct se_cmd *cmd);
int spc_get_write_same_sectors(struct se_cmd *cmd);

void transport_set_vpd_proto_id(struct t10_vpd *, unsigned char *);
Expand Down

0 comments on commit 8de530a

Please sign in to comment.