[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <568F78DB.9090404@sandisk.com>
Date: Fri, 8 Jan 2016 09:52:43 +0100
From: Bart Van Assche <bart.vanassche@...disk.com>
To: "Nicholas A. Bellinger" <nab@...erainc.com>,
target-devel <target-devel@...r.kernel.org>
CC: linux-scsi <linux-scsi@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>,
Sagi Grimberg <sagig@...lanox.com>,
Christoph Hellwig <hch@....de>, Hannes Reinecke <hare@...e.de>,
Andy Grover <agrover@...hat.com>,
Vasu Dev <vasu.dev@...ux.intel.com>, Vu Pham <vu@...lanox.com>,
Nicholas Bellinger <nab@...ux-iscsi.org>
Subject: Re: [PATCH 4/4] ib_srpt: Convert acl lookup to modern
get_initiator_node_acl usage
On 01/08/2016 08:15 AM, Nicholas A. Bellinger wrote:
> @@ -2574,24 +2558,18 @@ static int srpt_cm_req_recv(struct ib_cm_id *cm_id,
>
> pr_debug("registering session %s\n", ch->sess_name);
>
> - nacl = srpt_lookup_acl(sport, ch->i_port_id);
> - if (!nacl) {
> + se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1, ch->sess_name);
> + if (!se_acl) {
> pr_info("Rejected login because no ACL has been"
> " configured yet for initiator %s.\n", ch->sess_name);
> rej->reason = cpu_to_be32(
> - SRP_LOGIN_REJ_CHANNEL_LIMIT_REACHED);
> + SRP_LOGIN_REJ_CHANNEL_LIMIT_REACHED);
> + transport_free_session(ch->sess);
> goto destroy_ib;
> }
> + ch->sess->se_node_acl = se_acl;
This is a backwards-incompatible change. Today the ib_srpt target driver
accepts initiator port names with and without leading "0x". With this
change the "0x" prefix becomes mandatory.
> diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.h b/drivers/infiniband/ulp/srpt/ib_srpt.h
> index 5faad8ac..bb4fbe2 100644
> --- a/drivers/infiniband/ulp/srpt/ib_srpt.h
> +++ b/drivers/infiniband/ulp/srpt/ib_srpt.h
> @@ -364,11 +364,9 @@ struct srpt_port {
> u16 sm_lid;
> u16 lid;
> union ib_gid gid;
> - spinlock_t port_acl_lock;
> struct work_struct work;
> struct se_portal_group port_tpg_1;
> struct se_wwn port_wwn;
> - struct list_head port_acl_list;
> struct srpt_port_attrib port_attrib;
> };
With this patch applied the following srpt_node_acl members are no
longer read: i_port_id, sport and list. Hence please remove the
srpt_node_acl structure definition and use struct se_node_acl instead.
Thanks,
Bart.
Powered by blists - more mailing lists