RE: [PATCH v2 10/22] IB/srpt: Do not complain about initiator names without leading "0x"

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

 



Looks fine to me.

Reviewed-by: Alex Estrin <alex.estrin@xxxxxxxxx>

> Only log an error message if neither the lookup with leading "0x"
> nor the lookup without leading "0x" succeeds.
> 
> Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
> Fixes: f246c941549c ("ib_srpt: Convert acl lookup to modern get_initiator_node_acl
> usage")
> Cc: Christoph Hellwig <hch@xxxxxx>
> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
> Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
> ---
>  drivers/infiniband/ulp/srpt/ib_srpt.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c
> b/drivers/infiniband/ulp/srpt/ib_srpt.c
> index b46e8d7..d892736 100644
> --- a/drivers/infiniband/ulp/srpt/ib_srpt.c
> +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
> @@ -2042,7 +2042,6 @@ static int srpt_cm_req_recv(struct ib_cm_id *cm_id,
>  	struct se_node_acl *se_acl;
>  	u32 it_iu_len;
>  	int i, ret = 0;
> -	unsigned char *p;
> 
>  	WARN_ON_ONCE(irqs_disabled());
> 
> @@ -2200,7 +2199,6 @@ static int srpt_cm_req_recv(struct ib_cm_id *cm_id,
>  			be64_to_cpu(*(__be64 *)(ch->i_port_id + 8)));
> 
>  	pr_debug("registering session %s\n", ch->sess_name);
> -	p = &ch->sess_name[0];
> 
>  	ch->sess = transport_init_session(TARGET_PROT_NORMAL);
>  	if (IS_ERR(ch->sess)) {
> @@ -2210,18 +2208,15 @@ static int srpt_cm_req_recv(struct ib_cm_id *cm_id,
>  		goto destroy_ib;
>  	}
> 
> -try_again:
> -	se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1, p);
> +	se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1,
> +						 &ch->sess_name[0]);
> +	/* If no match, retry without leading '0x'. */
> +	if (!se_acl)
> +		se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1,
> +							 &ch->sess_name[2]);
>  	if (!se_acl) {
>  		pr_info("Rejected login because no ACL has been"
>  			" configured yet for initiator %s.\n", ch->sess_name);
> -		/*
> -		 * XXX: Hack to retry of ch->i_port_id without leading '0x'
> -		 */
> -		if (p == &ch->sess_name[0]) {
> -			p += 2;
> -			goto try_again;
> -		}
>  		rej->reason = cpu_to_be32(
>  				SRP_LOGIN_REJ_CHANNEL_LIMIT_REACHED);
>  		transport_free_session(ch->sess);
> --
> 2.7.0

��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux