summaryrefslogtreecommitdiff
path: root/usr/mgmt_ipc.c
diff options
context:
space:
mode:
authormnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2006-04-27 17:55:30 +0000
committermnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2006-04-27 17:55:30 +0000
commit058189ba47ebd9143d40d87dc182c9d3d261addd (patch)
treeabf075163212b2880bac9e2cfb396fedef636a85 /usr/mgmt_ipc.c
parent16121e1091ead3b6b01426a72a4e8f35226ae263 (diff)
downloadopen-iscsi-058189ba47ebd9143d40d87dc182c9d3d261addd.tar.gz
from patmans@us.ibm.com: Add a MGMT_IPC_SESSION_SYNC for the sync sessions/reopen. Also rename write_mgmt_login_rsp to write_mgmt_rsp, since we now use it for both scanning and the resync response.
git-svn-id: svn://svn.berlios.de/open-iscsi@548 d7303112-9cec-0310-bdd2-e83a94d6c2b6
Diffstat (limited to 'usr/mgmt_ipc.c')
-rw-r--r--usr/mgmt_ipc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/usr/mgmt_ipc.c b/usr/mgmt_ipc.c
index 5c4dcd5..d1f1eaf 100644
--- a/usr/mgmt_ipc.c
+++ b/usr/mgmt_ipc.c
@@ -197,6 +197,18 @@ mgmt_ipc_session_logout(struct mgmt_ipc_db *dbt, queue_task_t *qtask, int rid)
}
static mgmt_ipc_err_e
+mgmt_ipc_session_sync(struct mgmt_ipc_db *dbt, queue_task_t *qtask, int rid,
+ int sid)
+{
+ mgmt_ipc_err_e rc;
+ node_rec_t rec;
+
+ if ((rc = mgmt_ipc_node_read(dbt, rid, &rec)))
+ return rc;
+ return iscsi_sync_session(&rec, qtask, sid);
+}
+
+static mgmt_ipc_err_e
mgmt_ipc_cfg_initiatorname(queue_task_t *qtask, iscsiadm_rsp_t *rsp)
{
strcpy(rsp->u.config.var, dconfig->initiator_name);
@@ -367,6 +379,10 @@ mgmt_ipc_handle(struct mgmt_ipc_db *dbt, int accept_fd)
case MGMT_IPC_SESSION_LOGOUT:
rsp.err = mgmt_ipc_session_logout(dbt, qtask, req.u.session.rid);
break;
+ case MGMT_IPC_SESSION_SYNC:
+ rsp.err = mgmt_ipc_session_sync(dbt, qtask, req.u.session.rid,
+ req.u.session.sid);
+ break;
case MGMT_IPC_SESSION_ACTIVELIST:
rsp.err = mgmt_ipc_session_activelist(qtask, &rsp);
immrsp = 1;