On Fri, 2010-08-20 at 16:41 -0500, Mike Christie wrote: > On 08/20/2010 02:32 AM, FUJITA Tomonori wrote: > > On Thu, 19 Aug 2010 15:45:47 -0700 > > "Nicholas A. Bellinger"<nab@xxxxxxxxxxxxxxx> wrote: > > > >> So, assuming that the conversion of all struct iscsi_init_* and struct > >> iscsi_target* to use include/scsi/iscsi_proto.h defs just involves > >> checking structure size and renaming the member use in > >> drivers/target/lio-target, would it be acceptable to do something like: > >> > >> /* iSCSI PDU Header */ > >> struct iscsi_cmd { > >> uint8_t opcode; > >> uint8_t flags; > >> __be16 rsvd2; > >> uint8_t hlength; > >> uint8_t dlength[3]; > >> uint8_t lun[8]; > >> itt_t itt; /* Initiator Task Tag */ > >> __be32 data_length; > >> __be32 cmdsn; > >> __be32 exp_statsn; > >> uint8_t cdb[ISCSI_CDB_SIZE]; /* SCSI Command Block */ > >> /* Additional Data (Command Dependent) */ > >> #ifdef ISCSI_TARGET_MODE > >> __be32 header_digest; > >> #endif > >> }; > > > > It's up to Mike but it looks hacky to me. struct iscsi_pdu is defined > > in the exact way as the spec does. > > > > I don't think that iscsi_proto.h conversion is a must for the mainline > > inclusion. I prefer to let it alone for now. > > For the iscsi target, I think it is. For iscsi initiator drivers like > bnx2i and be2iscsi we have made them convert from their headers to > common linux ones including switching from driver specific defs to > iscsi_proto.h. This is kinda what I figured myself.. So in that case, I will go ahead and plan on using the initial target mode stubs above to get up and running, and start doing this sometime after the next (seperate) posting of TCM_Core + TCM_Loop for Tomo-san's review. > > For the merging of any target core stuff though, I do not think it is > critical. The core target stuff does not need to be merged with a > software iscsi target. They can do in at different times. I think in order to merge the software iSCSI target fabric bits for v2.6.37, it would sense to do it initially with something similar to these stubs. From there I can have a more time to make necessary modifications to LIO-Target and plan removing the header_digest target stubs from iscsi_proto.h in for the .38 timeframe. But really, since you so kindly volunteered to review the drivers/target/lio-target code to start with, this decision is most certainly yours to me made as the LIO-Target conversion to iscsi_proto.h starts rolling.. 8-) Thanks for your comments Mike! --nab -- 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