Allow turning SNS On and Off. Signed-Off-By: Chandra Seetharaman <sekharan@xxxxxxxxxx> --- usr/iscsi/isns.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) Index: tgt-469b574/usr/iscsi/isns.c =================================================================== --- tgt-469b574.orig/usr/iscsi/isns.c +++ tgt-469b574/usr/iscsi/isns.c @@ -902,7 +902,7 @@ void isns_exit(void) return; list_for_each_entry(target, &iscsi_targets_list, tlist) - isns_scn_deregister(tgt_targetname(target->tid)); + isns_target_deregister(tgt_targetname(target->tid)); if (isns_fd) { tgt_event_del(isns_fd); @@ -917,6 +917,7 @@ void isns_exit(void) close(scn_fd); } + use_isns = isns_fd = scn_listen_fd = scn_fd = 0; free(rxbuf); } @@ -956,7 +957,7 @@ int isns_update(char *params) while ((p = strsep(¶ms, ",")) != NULL) { substring_t args[MAX_OPT_ARGS]; - int token; + int token, isns; char tmp[16]; if (!*p) @@ -965,16 +966,21 @@ int isns_update(char *params) switch (token) { case Opt_isns: - /* FIXME */ - if (use_isns) { + match_strncpy(tmp, &args[0], sizeof(tmp)); + if (!strcmp(tmp, "On")) + isns = 1; + else if (!strcmp(tmp, "Off")) + isns = 0; + else { ret = TGTADM_INVALID_REQUEST; break; } - - match_strncpy(tmp, &args[0], sizeof(tmp)); - use_isns = !strcmp(tmp, "On"); - if (use_isns) + if (use_isns == isns) + break; + if (isns) isns_init(); + else + isns_exit(); break; case Opt_ip: match_strncpy(isns_addr, &args[0], sizeof(isns_addr)); -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html