mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-18 19:21:26 +00:00
iSNS server should know only about enabled targets
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3424 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -979,6 +979,8 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event)
|
||||
int rc;
|
||||
|
||||
list_for_each_entry(t, &targets_list, tlist) {
|
||||
if (!t->tgt_enabled)
|
||||
continue;
|
||||
rc = isns_target_register(t->name);
|
||||
if (rc < 0) {
|
||||
/*
|
||||
@@ -1080,8 +1082,10 @@ retry:
|
||||
} else
|
||||
rc = 0;
|
||||
rc |= send_mgmt_cmd_res(event.tid, event.cookie, E_ENABLE_TARGET, rc, NULL);
|
||||
if (rc == 0)
|
||||
if (rc == 0) {
|
||||
target->tgt_enabled = 1;
|
||||
isns_target_register(target->name);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_DISABLE_TARGET:
|
||||
@@ -1092,8 +1096,10 @@ retry:
|
||||
} else
|
||||
rc = 0;
|
||||
rc |= send_mgmt_cmd_res(event.tid, event.cookie, E_DISABLE_TARGET, rc, NULL);
|
||||
if (rc == 0)
|
||||
if (rc == 0) {
|
||||
target->tgt_enabled = 0;
|
||||
isns_target_deregister(target->name);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_GET_ATTR_VALUE:
|
||||
|
||||
@@ -349,7 +349,8 @@ int target_del(u32 tid, u32 cookie)
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
isns_target_deregister(target->name);
|
||||
if (target->tgt_enabled)
|
||||
isns_target_deregister(target->name);
|
||||
|
||||
target_free(target);
|
||||
|
||||
@@ -421,7 +422,9 @@ int target_add(struct target *target, u32 *tid, u32 cookie)
|
||||
#endif
|
||||
list_add_tail(&target->tlist, &targets_list);
|
||||
|
||||
#ifdef CONFIG_SCST_PROC
|
||||
isns_target_register(target->name);
|
||||
#endif
|
||||
|
||||
out:
|
||||
return err;
|
||||
|
||||
Reference in New Issue
Block a user