On Wed, 2013-09-25 at 15:26 +0200, Thomas Glanzmann wrote: > Hello Ben, > > > I was wondering if you had made some progress on the target discovery > > project? > > not much. I setup a system, checkout the kernel, compiled it and booted > it and began writing on the patch but was interrupted by more pressing > work. I hope to finish it up over the weekend. My progress so far is: > > diff --git a/drivers/target/iscsi/iscsi_target_configfs.c b/drivers/target/iscsi/iscsi_target_configfs.c > index bbfd288..79a9de2 100644 > --- a/drivers/target/iscsi/iscsi_target_configfs.c > +++ b/drivers/target/iscsi/iscsi_target_configfs.c > @@ -1043,6 +1043,11 @@ TPG_ATTR(demo_mode_write_protect, S_IRUGO | S_IWUSR); > */ > DEF_TPG_ATTRIB(prod_mode_write_protect); > TPG_ATTR(prod_mode_write_protect, S_IRUGO | S_IWUSR); > +/* > + * Define iscsi_tpg_attrib_s_hide_from_unauthorized > + */ > +DEF_TPG_ATTRIB(hide_from_unauthorized); > +TPG_ATTR(hide_from_unauthorized, S_IRUGO | S_IWUSR); > > static struct configfs_attribute *lio_target_tpg_attrib_attrs[] = { > &iscsi_tpg_attrib_authentication.attr, > @@ -1053,6 +1058,7 @@ static struct configfs_attribute *lio_target_tpg_attrib_attrs[] = { > &iscsi_tpg_attrib_cache_dynamic_acls.attr, > &iscsi_tpg_attrib_demo_mode_write_protect.attr, > &iscsi_tpg_attrib_prod_mode_write_protect.attr, > + &iscsi_tpg_attrib_hide_from_unauthorized.attr, > NULL, > }; > > @@ -1850,6 +1856,14 @@ static int lio_tpg_check_prod_mode_write_protect( > return ISCSI_TPG_ATTRIB(tpg)->prod_mode_write_protect; > } > > +static int lio_tpg_check_hide_from_unauthorized( > + struct se_portal_group *se_tpg) > +{ > + struct iscsi_portal_group *tpg = se_tpg->se_tpg_fabric_ptr; > + > + return ISCSI_TPG_ATTRIB(tpg)->hide_from_unauthorized; > +} > + > static void lio_tpg_release_fabric_acl( > struct se_portal_group *se_tpg, > struct se_node_acl *se_acl) > diff --git a/drivers/target/iscsi/iscsi_target_core.h b/drivers/target/iscsi/iscsi_target_core.h > index 4f77a78..ad0d007e 100644 > --- a/drivers/target/iscsi/iscsi_target_core.h > +++ b/drivers/target/iscsi/iscsi_target_core.h > @@ -754,6 +754,7 @@ struct iscsi_tpg_attrib { > u32 default_cmdsn_depth; > u32 demo_mode_write_protect; > u32 prod_mode_write_protect; > + u32 hide_from_unauthorized; > struct iscsi_portal_group *tpg; > }; > Good start. :-) > > I'm trying to get some time from our kernel developer to look at the > > problem here also, so if you have made any progress we could merge our > > effort. > > If your developer starts working on it, please let me know. However I > hope that I'll finish it up over the weekend. > > My roadmap is the following: > > - Add a per target configfs paramter (started but untested and > probably unfinished) > > - Cleanup iscsit_build_sendtargets_response > > - Implement hide_from_unauthorized functionality > > - Test it with 12 ESX servers and Linux initiator > > - Post the patches to the mailinglist > > - Work in the suggestions from the feedback of the mailinglist > until the patch is accepted upstream. > > In addition to that I want to do some tests with ESX servers in order to > verify that LIO code is stable. Particular I want to test: > > - Concurrent login from 12 initiators FYI, I've been testing with 256 sessions, and with the target updates now in v3.12-rc1 to multiplex login attempts per network portal, can complete all logins (with mutual CHAP enabled) within 2-3 seconds. > - XCOPY with limited queue depth on 72 concurrent operations > Actually, in upstream code there is no notion of queue_depth that is being enforced per device by the target (eg: it's all done below by the block layer). --nab -- 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