ib_srpt: Convert acl lookup to modern get_initiator_node_acl usage
authorNicholas Bellinger <nab@linux-iscsi.org>
Fri, 8 Jan 2016 06:19:21 +0000 (22:19 -0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 13 Jan 2016 07:44:32 +0000 (23:44 -0800)
commitf246c941549c715a66a4477c3053569b2f5b8823
treed6391e9ed8fd152f63a1a5d4f59cafde4929fe85
parent7fbef3d0c2f6063ed12e7f3d74ba2a49111154f9
ib_srpt: Convert acl lookup to modern get_initiator_node_acl usage

This patch does a simple conversion of ib_srpt code to use
proper modern core_tpg_get_initiator_node_acl() lookup using
se_node_acl->acl_kref, and drops the legacy internal list
usage from srpt_lookup_acl().

This involves doing transport_init_session() earlier, and
making sure transport_free_session() is called during
a se_node_acl lookup failure to drop the last ->acl_kref.

Also, it adds a minor backwards-compat hack to avoid the
potential for user-space wrt node-acl WWPN formatting by
simply stripping off '0x' prefix from ch->sess_name, and
retrying once if core_tpg_get_initiator_node_acl() fails.

Finally, go ahead and drop port_acl_list port_acl_lock
since they are no longer used.

Cc: Vu Pham <vu@mellanox.com>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/infiniband/ulp/srpt/ib_srpt.c
drivers/infiniband/ulp/srpt/ib_srpt.h