scsi: target: loop: Remove default fabric ops callouts
authorDmitry Bogdanov <d.bogdanov@yadro.com>
Mon, 13 Mar 2023 18:11:02 +0000 (21:11 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 17 Mar 2023 03:36:36 +0000 (23:36 -0400)
Remove callouts that are identical to the default implementations in TCM
Core.

Signed-off-by: Dmitry Bogdanov <d.bogdanov@yadro.com>
Link: https://lore.kernel.org/r/20230313181110.20566-5-d.bogdanov@yadro.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/loopback/tcm_loop.c

index 139031ccb700a7fdda510ef8a112aefb3f293482..5c8646c2d4e90b0246bc3c981e3e019cc9f9f81d 100644 (file)
@@ -480,30 +480,6 @@ static int tcm_loop_check_demo_mode(struct se_portal_group *se_tpg)
        return 1;
 }
 
-static int tcm_loop_check_demo_mode_cache(struct se_portal_group *se_tpg)
-{
-       return 0;
-}
-
-/*
- * Allow I_T Nexus full READ-WRITE access without explict Initiator Node ACLs for
- * local virtual Linux/SCSI LLD passthrough into VM hypervisor guest
- */
-static int tcm_loop_check_demo_mode_write_protect(struct se_portal_group *se_tpg)
-{
-       return 0;
-}
-
-/*
- * Because TCM_Loop does not use explict ACLs and MappedLUNs, this will
- * never be called for TCM_Loop by target_core_fabric_configfs.c code.
- * It has been added here as a nop for target_fabric_tf_ops_check()
- */
-static int tcm_loop_check_prod_mode_write_protect(struct se_portal_group *se_tpg)
-{
-       return 0;
-}
-
 static int tcm_loop_check_prot_fabric_only(struct se_portal_group *se_tpg)
 {
        struct tcm_loop_tpg *tl_tpg = container_of(se_tpg, struct tcm_loop_tpg,
@@ -511,21 +487,11 @@ static int tcm_loop_check_prot_fabric_only(struct se_portal_group *se_tpg)
        return tl_tpg->tl_fabric_prot_type;
 }
 
-static u32 tcm_loop_get_inst_index(struct se_portal_group *se_tpg)
-{
-       return 1;
-}
-
 static u32 tcm_loop_sess_get_index(struct se_session *se_sess)
 {
        return 1;
 }
 
-static void tcm_loop_set_default_node_attributes(struct se_node_acl *se_acl)
-{
-       return;
-}
-
 static int tcm_loop_get_cmd_state(struct se_cmd *se_cmd)
 {
        struct tcm_loop_cmd *tl_cmd = container_of(se_cmd,
@@ -1124,18 +1090,11 @@ static const struct target_core_fabric_ops loop_ops = {
        .tpg_get_wwn                    = tcm_loop_get_endpoint_wwn,
        .tpg_get_tag                    = tcm_loop_get_tag,
        .tpg_check_demo_mode            = tcm_loop_check_demo_mode,
-       .tpg_check_demo_mode_cache      = tcm_loop_check_demo_mode_cache,
-       .tpg_check_demo_mode_write_protect =
-                               tcm_loop_check_demo_mode_write_protect,
-       .tpg_check_prod_mode_write_protect =
-                               tcm_loop_check_prod_mode_write_protect,
        .tpg_check_prot_fabric_only     = tcm_loop_check_prot_fabric_only,
-       .tpg_get_inst_index             = tcm_loop_get_inst_index,
        .check_stop_free                = tcm_loop_check_stop_free,
        .release_cmd                    = tcm_loop_release_cmd,
        .sess_get_index                 = tcm_loop_sess_get_index,
        .write_pending                  = tcm_loop_write_pending,
-       .set_default_node_attributes    = tcm_loop_set_default_node_attributes,
        .get_cmd_state                  = tcm_loop_get_cmd_state,
        .queue_data_in                  = tcm_loop_queue_data_in,
        .queue_status                   = tcm_loop_queue_status,