On Sun, 2012-10-07 at 10:55 -0400, Christoph Hellwig wrote: > plain text document attachment (pscsi-call-report_luns-directly) > No need to indirect through spc_parse_cdb if we only ever call it for > REPORT LUNS emulation. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > --- > drivers/target/target_core_pscsi.c | 9 ++------- > drivers/target/target_core_spc.c | 2 +- > include/target/target_core_backend.h | 1 + > 3 files changed, 4 insertions(+), 8 deletions(-) > FYI.. ERROR: "spc_emulate_report_luns" [drivers/target/target_core_pscsi.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Adding the missing EXPORT_SYMBOL for spc_emulate_report_luns to allow target_core_pscsi.c code to be built as a module. --nab > Index: lio-core/drivers/target/target_core_pscsi.c > =================================================================== > --- lio-core.orig/drivers/target/target_core_pscsi.c 2012-10-07 05:37:48.807917807 -0700 > +++ lio-core/drivers/target/target_core_pscsi.c 2012-10-07 05:41:29.391911734 -0700 > @@ -985,8 +985,6 @@ static inline void pscsi_clear_cdb_lun(u > 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; > @@ -1003,10 +1001,7 @@ static int pscsi_parse_cdb(struct se_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: > @@ -1020,10 +1015,8 @@ static int pscsi_parse_cdb(struct se_cmd > /* FALLTHROUGH*/ > default: > cmd->execute_cmd = pscsi_execute_cmd; > - break; > + return 0; > } > - > - return 0; > } > > static int pscsi_execute_cmd(struct se_cmd *cmd) > Index: lio-core/drivers/target/target_core_spc.c > =================================================================== > --- lio-core.orig/drivers/target/target_core_spc.c 2012-10-07 05:39:39.363914772 -0700 > +++ lio-core/drivers/target/target_core_spc.c 2012-10-07 05:40:58.863912575 -0700 > @@ -906,7 +906,7 @@ static int spc_emulate_request_sense(str > 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; > Index: lio-core/include/target/target_core_backend.h > =================================================================== > --- lio-core.orig/include/target/target_core_backend.h 2012-10-07 05:37:48.807917807 -0700 > +++ lio-core/include/target/target_core_backend.h 2012-10-07 05:40:11.383913881 -0700 > @@ -52,6 +52,7 @@ void target_complete_cmd(struct se_cmd * > > 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 *); > > -- > To unsubscribe from this list: send the line "unsubscribe target-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html