Re: [PATCH, RFC] target: move node ACL allocation into the core

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

 



On 04/07/15 16:18, Christoph Hellwig wrote:
All fabric drivers just do a kzalloc/kfree in their .tpg_alloc_fabric_acl/
.tpg_release_fabric_acl methods, so by adding a field that specifies the
node ACL size we can remove them all.  We make the field optional as
most drivers don't even need private data.  This also allows to take
all the ACL allocation and teardown into common code and thus simplify
the .fabric_make_nodeacl and .fabric_drop_nodeacl by taking a lot of
duplicate code into the code.  Additionally the now optional
.get_default_depth method is used in both pathes that lead to node ACL
creation, further unifying the code in that area.

Note that this conflicts with various other patches currently in flight,
so for now it's just an RFC.

Hello Christoph,

To me this looks like a significant step forward. However, I think this approach can be taken even further. How about making the following additional changes: - Eliminate port_acl_list from the ib_srpt driver. This is possible by changing the single srpt_lookup_acl() call into a call of core_tpg_check_initiator_node_acl(). I can implement this if you prefer.
- Modify the second argument of the get_pr_transport_id() callback from
struct se_node_acl * into the initiator port name. That port name is namely the only information used by the get_pr_transport_id() callback functions.

This should allow to eliminate all data structures derived from struct se_node_acl except those in the tcm_fc and iscsi target drivers.

Bart.
--
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