aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_tpg.c')
-rw-r--r--drivers/target/iscsi/iscsi_target_tpg.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/drivers/target/iscsi/iscsi_target_tpg.c b/drivers/target/iscsi/iscsi_target_tpg.c
index 68261b7dcefe..63e1dcc5914d 100644
--- a/drivers/target/iscsi/iscsi_target_tpg.c
+++ b/drivers/target/iscsi/iscsi_target_tpg.c
@@ -227,6 +227,7 @@ static void iscsit_set_default_tpg_attribs(struct iscsi_portal_group *tpg)
227 a->t10_pi = TA_DEFAULT_T10_PI; 227 a->t10_pi = TA_DEFAULT_T10_PI;
228 a->fabric_prot_type = TA_DEFAULT_FABRIC_PROT_TYPE; 228 a->fabric_prot_type = TA_DEFAULT_FABRIC_PROT_TYPE;
229 a->tpg_enabled_sendtargets = TA_DEFAULT_TPG_ENABLED_SENDTARGETS; 229 a->tpg_enabled_sendtargets = TA_DEFAULT_TPG_ENABLED_SENDTARGETS;
230 a->login_keys_workaround = TA_DEFAULT_LOGIN_KEYS_WORKAROUND;
230} 231}
231 232
232int iscsit_tpg_add_portal_group(struct iscsi_tiqn *tiqn, struct iscsi_portal_group *tpg) 233int iscsit_tpg_add_portal_group(struct iscsi_tiqn *tiqn, struct iscsi_portal_group *tpg)
@@ -589,16 +590,6 @@ int iscsit_tpg_del_network_portal(
589 return iscsit_tpg_release_np(tpg_np, tpg, np); 590 return iscsit_tpg_release_np(tpg_np, tpg, np);
590} 591}
591 592
592int iscsit_tpg_set_initiator_node_queue_depth(
593 struct iscsi_portal_group *tpg,
594 unsigned char *initiatorname,
595 u32 queue_depth,
596 int force)
597{
598 return core_tpg_set_initiator_node_queue_depth(&tpg->tpg_se_tpg,
599 initiatorname, queue_depth, force);
600}
601
602int iscsit_ta_authentication(struct iscsi_portal_group *tpg, u32 authentication) 593int iscsit_ta_authentication(struct iscsi_portal_group *tpg, u32 authentication)
603{ 594{
604 unsigned char buf1[256], buf2[256], *none = NULL; 595 unsigned char buf1[256], buf2[256], *none = NULL;
@@ -909,3 +900,21 @@ int iscsit_ta_tpg_enabled_sendtargets(
909 900
910 return 0; 901 return 0;
911} 902}
903
904int iscsit_ta_login_keys_workaround(
905 struct iscsi_portal_group *tpg,
906 u32 flag)
907{
908 struct iscsi_tpg_attrib *a = &tpg->tpg_attrib;
909
910 if ((flag != 0) && (flag != 1)) {
911 pr_err("Illegal value %d\n", flag);
912 return -EINVAL;
913 }
914
915 a->login_keys_workaround = flag;
916 pr_debug("iSCSI_TPG[%hu] - TPG enabled bit for login keys workaround: %s ",
917 tpg->tpgt, (a->login_keys_workaround) ? "ON" : "OFF");
918
919 return 0;
920}