target: refactor init/drop_nodeacl methods
[linux-2.6-microblaze.git] / Documentation / target / tcm_mod_builder.py
index 3dab9b2..3e54809 100755 (executable)
@@ -50,15 +50,6 @@ def tcm_mod_build_FC_include(fabric_mod_dir_var, fabric_mod_name):
        buf = "#define " + fabric_mod_name.upper() + "_VERSION  \"v0.1\"\n"
        buf += "#define " + fabric_mod_name.upper() + "_NAMELEN 32\n"
        buf += "\n"
-       buf += "struct " + fabric_mod_name + "_nacl {\n"
-       buf += "        /* Binary World Wide unique Port Name for FC Initiator Nport */\n"
-       buf += "        u64 nport_wwpn;\n"
-       buf += "        /* ASCII formatted WWPN for FC Initiator Nport */\n"
-       buf += "        char nport_name[" + fabric_mod_name.upper() + "_NAMELEN];\n"
-       buf += "        /* Returned by " + fabric_mod_name + "_make_nodeacl() */\n"
-       buf += "        struct se_node_acl se_node_acl;\n"
-       buf += "};\n"
-       buf += "\n"
        buf += "struct " + fabric_mod_name + "_tpg {\n"
        buf += "        /* FC lport target portal group tag for TCM */\n"
        buf += "        u16 lport_tpgt;\n"
@@ -105,14 +96,6 @@ def tcm_mod_build_SAS_include(fabric_mod_dir_var, fabric_mod_name):
        buf = "#define " + fabric_mod_name.upper() + "_VERSION  \"v0.1\"\n"
        buf += "#define " + fabric_mod_name.upper() + "_NAMELEN 32\n"
        buf += "\n"
-       buf += "struct " + fabric_mod_name + "_nacl {\n"
-       buf += "        /* Binary World Wide unique Port Name for SAS Initiator port */\n"
-       buf += "        u64 iport_wwpn;\n"
-       buf += "        /* ASCII formatted WWPN for Sas Initiator port */\n"
-       buf += "        char iport_name[" + fabric_mod_name.upper() + "_NAMELEN];\n"
-       buf += "        /* Returned by " + fabric_mod_name + "_make_nodeacl() */\n"
-       buf += "        struct se_node_acl se_node_acl;\n"
-       buf += "};\n\n"
        buf += "struct " + fabric_mod_name + "_tpg {\n"
        buf += "        /* SAS port target portal group tag for TCM */\n"
        buf += "        u16 tport_tpgt;\n"
@@ -158,12 +141,6 @@ def tcm_mod_build_iSCSI_include(fabric_mod_dir_var, fabric_mod_name):
        buf = "#define " + fabric_mod_name.upper() + "_VERSION  \"v0.1\"\n"
        buf += "#define " + fabric_mod_name.upper() + "_NAMELEN 32\n"
        buf += "\n"
-       buf += "struct " + fabric_mod_name + "_nacl {\n"
-       buf += "        /* ASCII formatted InitiatorName */\n"
-       buf += "        char iport_name[" + fabric_mod_name.upper() + "_NAMELEN];\n"
-       buf += "        /* Returned by " + fabric_mod_name + "_make_nodeacl() */\n"
-       buf += "        struct se_node_acl se_node_acl;\n"
-       buf += "};\n\n"
        buf += "struct " + fabric_mod_name + "_tpg {\n"
        buf += "        /* iSCSI target portal group tag for TCM */\n"
        buf += "        u16 tport_tpgt;\n"
@@ -239,54 +216,6 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name):
 
        buf += "static const struct target_core_fabric_ops " + fabric_mod_name + "_ops;\n\n"
 
-       buf += "static struct se_node_acl *" + fabric_mod_name + "_make_nodeacl(\n"
-       buf += "        struct se_portal_group *se_tpg,\n"
-       buf += "        struct config_group *group,\n"
-       buf += "        const char *name)\n"
-       buf += "{\n"
-       buf += "        struct se_node_acl *se_nacl, *se_nacl_new;\n"
-       buf += "        struct " + fabric_mod_name + "_nacl *nacl;\n"
-
-       if proto_ident == "FC" or proto_ident == "SAS":
-               buf += "        u64 wwpn = 0;\n"
-
-       buf += "        u32 nexus_depth;\n\n"
-       buf += "        /* " + fabric_mod_name + "_parse_wwn(name, &wwpn, 1) < 0)\n"
-       buf += "                return ERR_PTR(-EINVAL); */\n"
-       buf += "        se_nacl_new = " + fabric_mod_name + "_alloc_fabric_acl(se_tpg);\n"
-       buf += "        if (!se_nacl_new)\n"
-       buf += "                return ERR_PTR(-ENOMEM);\n"
-       buf += "//#warning FIXME: Hardcoded nexus depth in " + fabric_mod_name + "_make_nodeacl()\n"
-       buf += "        nexus_depth = 1;\n"
-       buf += "        /*\n"
-       buf += "         * se_nacl_new may be released by core_tpg_add_initiator_node_acl()\n"
-       buf += "         * when converting a NodeACL from demo mode -> explict\n"
-       buf += "         */\n"
-       buf += "        se_nacl = core_tpg_add_initiator_node_acl(se_tpg, se_nacl_new,\n"
-       buf += "                                name, nexus_depth);\n"
-       buf += "        if (IS_ERR(se_nacl)) {\n"
-       buf += "                " + fabric_mod_name + "_release_fabric_acl(se_tpg, se_nacl_new);\n"
-       buf += "                return se_nacl;\n"
-       buf += "        }\n"
-       buf += "        /*\n"
-       buf += "         * Locate our struct " + fabric_mod_name + "_nacl and set the FC Nport WWPN\n"
-       buf += "         */\n"
-       buf += "        nacl = container_of(se_nacl, struct " + fabric_mod_name + "_nacl, se_node_acl);\n"
-
-       if proto_ident == "FC" or proto_ident == "SAS":
-               buf += "        nacl->" + fabric_mod_init_port + "_wwpn = wwpn;\n"
-
-       buf += "        /* " + fabric_mod_name + "_format_wwn(&nacl->" + fabric_mod_init_port + "_name[0], " + fabric_mod_name.upper() + "_NAMELEN, wwpn); */\n\n"
-       buf += "        return se_nacl;\n"
-       buf += "}\n\n"
-       buf += "static void " + fabric_mod_name + "_drop_nodeacl(struct se_node_acl *se_acl)\n"
-       buf += "{\n"
-       buf += "        struct " + fabric_mod_name + "_nacl *nacl = container_of(se_acl,\n"
-       buf += "                                struct " + fabric_mod_name + "_nacl, se_node_acl);\n"
-       buf += "        core_tpg_del_initiator_node_acl(se_acl->se_tpg, se_acl, 1);\n"
-       buf += "        kfree(nacl);\n"
-       buf += "}\n\n"
-
        buf += "static struct se_portal_group *" + fabric_mod_name + "_make_tpg(\n"
        buf += "        struct se_wwn *wwn,\n"
        buf += "        struct config_group *group,\n"
@@ -408,12 +337,6 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name):
        buf += "        .fabric_drop_wwn                = " + fabric_mod_name + "_drop_" + fabric_mod_port + ",\n"
        buf += "        .fabric_make_tpg                = " + fabric_mod_name + "_make_tpg,\n"
        buf += "        .fabric_drop_tpg                = " + fabric_mod_name + "_drop_tpg,\n"
-       buf += "        .fabric_post_link               = NULL,\n"
-       buf += "        .fabric_pre_unlink              = NULL,\n"
-       buf += "        .fabric_make_np                 = NULL,\n"
-       buf += "        .fabric_drop_np                 = NULL,\n"
-       buf += "        .fabric_make_nodeacl            = " + fabric_mod_name + "_make_nodeacl,\n"
-       buf += "        .fabric_drop_nodeacl            = " + fabric_mod_name + "_drop_nodeacl,\n"
        buf += "\n"
        buf += "        .tfc_wwn_attrs                  = " + fabric_mod_name + "_wwn_attrs;\n"
        buf += "};\n\n"