Re: LIO Per initiator target discovery.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux