]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/target/target_core_base.h
Merge remote-tracking branch 'target-updates/for-next'
[karo-tx-linux.git] / include / target / target_core_base.h
index 5f48754dc36ae0e15e06527c0cb63dc29324721e..0a2c74008e5388f6d817272735882f40abc3a013 100644 (file)
@@ -563,6 +563,36 @@ struct se_node_acl {
        struct kref             acl_kref;
 };
 
        struct kref             acl_kref;
 };
 
+static inline struct se_node_acl *acl_to_nacl(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_node_acl,
+                       acl_group);
+}
+
+static inline struct se_node_acl *attrib_to_nacl(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_node_acl,
+                       acl_attrib_group);
+}
+
+static inline struct se_node_acl *auth_to_nacl(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_node_acl,
+                       acl_auth_group);
+}
+
+static inline struct se_node_acl *param_to_nacl(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_node_acl,
+                       acl_param_group);
+}
+
+static inline struct se_node_acl *fabric_stat_to_nacl(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_node_acl,
+                       acl_fabric_stat_group);
+}
+
 struct se_session {
        unsigned                sess_tearing_down:1;
        u64                     sess_bin_isid;
 struct se_session {
        unsigned                sess_tearing_down:1;
        u64                     sess_bin_isid;
@@ -821,6 +851,12 @@ struct se_tpg_np {
        struct config_group     tpg_np_group;
 };
 
        struct config_group     tpg_np_group;
 };
 
+static inline struct se_tpg_np *to_tpg_np(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_tpg_np,
+                       tpg_np_group);
+}
+
 struct se_portal_group {
        /*
         * PROTOCOL IDENTIFIER value per SPC4, 7.5.1.
 struct se_portal_group {
        /*
         * PROTOCOL IDENTIFIER value per SPC4, 7.5.1.
@@ -857,6 +893,30 @@ struct se_portal_group {
        struct config_group     tpg_param_group;
 };
 
        struct config_group     tpg_param_group;
 };
 
+static inline struct se_portal_group *to_tpg(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_portal_group,
+                       tpg_group);
+}
+
+static inline struct se_portal_group *attrib_to_tpg(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_portal_group,
+                       tpg_attrib_group);
+}
+
+static inline struct se_portal_group *auth_to_tpg(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_portal_group,
+                       tpg_auth_group);
+}
+
+static inline struct se_portal_group *param_to_tpg(struct config_item *item)
+{
+       return container_of(to_config_group(item), struct se_portal_group,
+                       tpg_param_group);
+}
+
 struct se_wwn {
        struct target_fabric_configfs *wwn_tf;
        struct config_group     wwn_group;
 struct se_wwn {
        struct target_fabric_configfs *wwn_tf;
        struct config_group     wwn_group;