diff options
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_tpg.c')
-rw-r--r-- | drivers/target/iscsi/iscsi_target_tpg.c | 29 |
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 | ||
232 | int iscsit_tpg_add_portal_group(struct iscsi_tiqn *tiqn, struct iscsi_portal_group *tpg) | 233 | int 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 | ||
592 | int 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 | |||
602 | int iscsit_ta_authentication(struct iscsi_portal_group *tpg, u32 authentication) | 593 | int 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 | |||
904 | int 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 | } | ||