Lines Matching full:session
90 struct Scsi_Host *shost = conn->session->host; in iscsi_conn_queue_xmit()
100 struct Scsi_Host *shost = conn->session->host; in iscsi_conn_queue_recv()
108 static void __iscsi_update_cmdsn(struct iscsi_session *session, in __iscsi_update_cmdsn() argument
118 if (exp_cmdsn != session->exp_cmdsn && in __iscsi_update_cmdsn()
119 !iscsi_sna_lt(exp_cmdsn, session->exp_cmdsn)) in __iscsi_update_cmdsn()
120 session->exp_cmdsn = exp_cmdsn; in __iscsi_update_cmdsn()
122 if (max_cmdsn != session->max_cmdsn && in __iscsi_update_cmdsn()
123 !iscsi_sna_lt(max_cmdsn, session->max_cmdsn)) in __iscsi_update_cmdsn()
124 session->max_cmdsn = max_cmdsn; in __iscsi_update_cmdsn()
127 void iscsi_update_cmdsn(struct iscsi_session *session, struct iscsi_nopin *hdr) in iscsi_update_cmdsn() argument
129 __iscsi_update_cmdsn(session, be32_to_cpu(hdr->exp_cmdsn), in iscsi_update_cmdsn()
222 ISCSI_DBG_SESSION(task->conn->session, in iscsi_prep_ecdb_ahs()
245 struct iscsi_session *session = task->conn->session; in iscsi_check_tmf_restrictions() local
246 struct iscsi_tm *tmf = &session->tmhdr; in iscsi_check_tmf_restrictions()
249 if (session->tmf_state == TMF_INITIAL) in iscsi_check_tmf_restrictions()
269 iscsi_session_printk(KERN_INFO, session, in iscsi_check_tmf_restrictions()
278 if (session->fast_abort) { in iscsi_check_tmf_restrictions()
279 iscsi_session_printk(KERN_INFO, session, in iscsi_check_tmf_restrictions()
294 ISCSI_DBG_SESSION(session, in iscsi_check_tmf_restrictions()
317 struct iscsi_session *session = conn->session; in iscsi_prep_scsi_cmd_pdu() local
328 if (conn->session->tt->alloc_pdu) { in iscsi_prep_scsi_cmd_pdu()
329 rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_CMD); in iscsi_prep_scsi_cmd_pdu()
337 if (session->tt->parse_pdu_itt) in iscsi_prep_scsi_cmd_pdu()
341 task->conn->session->age); in iscsi_prep_scsi_cmd_pdu()
388 if (session->imm_data_en) { in iscsi_prep_scsi_cmd_pdu()
389 if (transfer_length >= session->first_burst) in iscsi_prep_scsi_cmd_pdu()
390 task->imm_count = min(session->first_burst, in iscsi_prep_scsi_cmd_pdu()
399 if (!session->initial_r2t_en) { in iscsi_prep_scsi_cmd_pdu()
400 r2t->data_length = min(session->first_burst, in iscsi_prep_scsi_cmd_pdu()
427 hdr->cmdsn = task->cmdsn = cpu_to_be32(session->cmdsn); in iscsi_prep_scsi_cmd_pdu()
429 if (session->tt->init_task && session->tt->init_task(task)) in iscsi_prep_scsi_cmd_pdu()
433 session->cmdsn++; in iscsi_prep_scsi_cmd_pdu()
436 ISCSI_DBG_SESSION(session, "iscsi prep [%s cid %d sc %p cdb 0x%x " in iscsi_prep_scsi_cmd_pdu()
441 session->cmdsn, in iscsi_prep_scsi_cmd_pdu()
442 session->max_cmdsn - session->exp_cmdsn + 1); in iscsi_prep_scsi_cmd_pdu()
450 * Must be called with session back_lock.
457 struct iscsi_session *session = conn->session; in iscsi_free_task() local
461 ISCSI_DBG_SESSION(session, "freeing task itt 0x%x state %d sc %p\n", in iscsi_free_task()
464 session->tt->cleanup_task(task); in iscsi_free_task()
473 kfifo_in(&session->cmdpool.queue, (void*)&task, sizeof(void*)); in iscsi_free_task()
508 struct iscsi_session *session = task->conn->session; in iscsi_put_task() local
511 spin_lock_bh(&session->back_lock); in iscsi_put_task()
513 spin_unlock_bh(&session->back_lock); in iscsi_put_task()
523 * Must be called with session back_lock.
529 ISCSI_DBG_SESSION(conn->session, in iscsi_complete_task()
556 * Called with session back_lock
563 ISCSI_DBG_SESSION(conn->session, "[itt 0x%x]\n", task->itt); in iscsi_complete_scsi_task()
566 __iscsi_update_cmdsn(conn->session, exp_cmdsn, max_cmdsn); in iscsi_complete_scsi_task()
591 * from a TMF or session recovery. in cleanup_queued_task()
598 if (conn->session->running_aborted_task == task) { in cleanup_queued_task()
599 conn->session->running_aborted_task = NULL; in cleanup_queued_task()
612 * session back and frwd lock must be held and if not called for a task that
629 conn->session->queued_cmdsn--; in __fail_scsi_task()
645 struct iscsi_session *session = task->conn->session; in fail_scsi_task() local
647 spin_lock_bh(&session->back_lock); in fail_scsi_task()
649 spin_unlock_bh(&session->back_lock); in fail_scsi_task()
655 struct iscsi_session *session = conn->session; in iscsi_prep_mgmt_task() local
660 if (conn->session->state == ISCSI_STATE_LOGGING_OUT) in iscsi_prep_mgmt_task()
668 nop->cmdsn = cpu_to_be32(session->cmdsn); in iscsi_prep_mgmt_task()
671 * TODO: We always use immediate for normal session pdus. in iscsi_prep_mgmt_task()
680 session->queued_cmdsn++; in iscsi_prep_mgmt_task()
681 session->cmdsn++; in iscsi_prep_mgmt_task()
685 if (session->tt->init_task && session->tt->init_task(task)) in iscsi_prep_mgmt_task()
689 session->state = ISCSI_STATE_LOGGING_OUT; in iscsi_prep_mgmt_task()
692 ISCSI_DBG_SESSION(session, "mgmtpdu [op 0x%x hdr->itt 0x%x " in iscsi_prep_mgmt_task()
709 struct iscsi_session *session = conn->session; in iscsi_alloc_mgmt_task() local
714 if (session->state == ISCSI_STATE_TERMINATE || in iscsi_alloc_mgmt_task()
738 if (session->state != ISCSI_STATE_LOGGED_IN) in iscsi_alloc_mgmt_task()
749 if (!kfifo_out(&session->cmdpool.queue, in iscsi_alloc_mgmt_task()
770 if (conn->session->tt->alloc_pdu) { in iscsi_alloc_mgmt_task()
771 if (conn->session->tt->alloc_pdu(task, hdr->opcode)) { in iscsi_alloc_mgmt_task()
783 if (session->tt->parse_pdu_itt) in iscsi_alloc_mgmt_task()
787 task->conn->session->age); in iscsi_alloc_mgmt_task()
807 struct iscsi_session *session = conn->session; in iscsi_send_mgmt_task() local
808 struct iscsi_host *ihost = shost_priv(conn->session->host); in iscsi_send_mgmt_task()
816 rc = session->tt->xmit_task(task); in iscsi_send_mgmt_task()
847 struct iscsi_session *session = conn->session; in iscsi_conn_send_pdu() local
850 spin_lock_bh(&session->frwd_lock); in iscsi_conn_send_pdu()
853 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_send_pdu()
874 struct iscsi_session *session = conn->session; in iscsi_scsi_cmd_rsp() local
877 iscsi_update_cmdsn(session, (struct iscsi_nopin*)rhdr); in iscsi_scsi_cmd_rsp()
891 BUG_ON(!session->tt->check_protection); in iscsi_scsi_cmd_rsp()
893 ascq = session->tt->check_protection(task, §or); in iscsi_scsi_cmd_rsp()
926 ISCSI_DBG_SESSION(session, "copied %d bytes of sense\n", in iscsi_scsi_cmd_rsp()
949 ISCSI_DBG_SESSION(session, "cmd rsp done [sc %p res %d itt 0x%x]\n", in iscsi_scsi_cmd_rsp()
974 iscsi_update_cmdsn(conn->session, (struct iscsi_nopin *)hdr); in iscsi_data_in_rsp()
989 ISCSI_DBG_SESSION(conn->session, "data in with status done " in iscsi_data_in_rsp()
999 struct iscsi_session *session = conn->session; in iscsi_tmf_rsp() local
1004 if (session->tmf_state != TMF_QUEUED) in iscsi_tmf_rsp()
1008 session->tmf_state = TMF_SUCCESS; in iscsi_tmf_rsp()
1010 session->tmf_state = TMF_NOT_FOUND; in iscsi_tmf_rsp()
1012 session->tmf_state = TMF_FAILED; in iscsi_tmf_rsp()
1013 wake_up(&session->ehwait); in iscsi_tmf_rsp()
1138 spin_unlock(&conn->session->back_lock); in iscsi_handle_reject()
1139 spin_lock(&conn->session->frwd_lock); in iscsi_handle_reject()
1142 spin_unlock(&conn->session->frwd_lock); in iscsi_handle_reject()
1143 spin_lock(&conn->session->back_lock); in iscsi_handle_reject()
1178 * the LDD's itt space does not include the session age.
1180 * The session back_lock must be held.
1184 struct iscsi_session *session = conn->session; in iscsi_itt_to_task() local
1190 if (session->tt->parse_pdu_itt) in iscsi_itt_to_task()
1191 session->tt->parse_pdu_itt(conn, itt, &i, NULL); in iscsi_itt_to_task()
1194 if (i >= session->cmds_max) in iscsi_itt_to_task()
1197 return session->cmds[i]; in iscsi_itt_to_task()
1209 * queuecommand or send generic. session back_lock must be held and verify
1215 struct iscsi_session *session = conn->session; in __iscsi_complete_pdu() local
1230 ISCSI_DBG_SESSION(session, "[op 0x%x cid %d itt 0x%x len %d]\n", in __iscsi_complete_pdu()
1234 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
1247 spin_unlock(&session->back_lock); in __iscsi_complete_pdu()
1248 spin_lock(&session->frwd_lock); in __iscsi_complete_pdu()
1250 spin_unlock(&session->frwd_lock); in __iscsi_complete_pdu()
1251 spin_lock(&session->back_lock); in __iscsi_complete_pdu()
1302 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
1311 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
1318 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
1328 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
1358 spin_lock(&conn->session->back_lock); in iscsi_complete_pdu()
1360 spin_unlock(&conn->session->back_lock); in iscsi_complete_pdu()
1367 struct iscsi_session *session = conn->session; in iscsi_verify_itt() local
1373 if (session->tt->parse_pdu_itt) in iscsi_verify_itt()
1374 session->tt->parse_pdu_itt(conn, itt, &i, &age); in iscsi_verify_itt()
1380 if (age != session->age) { in iscsi_verify_itt()
1382 "received itt %x expected session age (%x)\n", in iscsi_verify_itt()
1383 (__force u32)itt, session->age); in iscsi_verify_itt()
1387 if (i >= session->cmds_max) { in iscsi_verify_itt()
1390 "%u.\n", i, session->cmds_max); in iscsi_verify_itt()
1404 * The session back_lock must be held.
1417 if (iscsi_cmd(task->sc)->age != conn->session->age) { in iscsi_itt_to_ctask()
1418 iscsi_session_printk(KERN_ERR, conn->session, in iscsi_itt_to_ctask()
1419 "task's session age %d, expected %d\n", in iscsi_itt_to_ctask()
1420 iscsi_cmd(task->sc)->age, conn->session->age); in iscsi_itt_to_ctask()
1428 void iscsi_session_failure(struct iscsi_session *session, in iscsi_session_failure() argument
1433 spin_lock_bh(&session->frwd_lock); in iscsi_session_failure()
1434 conn = session->leadconn; in iscsi_session_failure()
1435 if (session->state == ISCSI_STATE_TERMINATE || !conn) { in iscsi_session_failure()
1436 spin_unlock_bh(&session->frwd_lock); in iscsi_session_failure()
1441 spin_unlock_bh(&session->frwd_lock); in iscsi_session_failure()
1445 * the session. in iscsi_session_failure()
1457 struct iscsi_session *session = conn->session; in iscsi_set_conn_failed() local
1459 if (session->state == ISCSI_STATE_FAILED) in iscsi_set_conn_failed()
1463 session->state = ISCSI_STATE_FAILED; in iscsi_set_conn_failed()
1472 struct iscsi_session *session = conn->session; in iscsi_conn_failure() local
1475 spin_lock_bh(&session->frwd_lock); in iscsi_conn_failure()
1477 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_failure()
1486 struct iscsi_session *session = conn->session; in iscsi_check_cmdsn_window_closed() local
1491 if (!iscsi_sna_lte(session->queued_cmdsn, session->max_cmdsn)) { in iscsi_check_cmdsn_window_closed()
1492 ISCSI_DBG_SESSION(session, "iSCSI CmdSN closed. ExpCmdSn " in iscsi_check_cmdsn_window_closed()
1494 session->exp_cmdsn, session->max_cmdsn, in iscsi_check_cmdsn_window_closed()
1495 session->cmdsn, session->queued_cmdsn); in iscsi_check_cmdsn_window_closed()
1542 spin_unlock_bh(&conn->session->frwd_lock); in iscsi_xmit_task()
1543 rc = conn->session->tt->xmit_task(task); in iscsi_xmit_task()
1544 spin_lock_bh(&conn->session->frwd_lock); in iscsi_xmit_task()
1562 * iscsi_requeue_task - requeue task to run from session workqueue
1575 spin_lock_bh(&conn->session->frwd_lock); in iscsi_requeue_task()
1586 spin_unlock_bh(&conn->session->frwd_lock); in iscsi_requeue_task()
1604 spin_lock_bh(&conn->session->frwd_lock); in iscsi_data_xmit()
1606 ISCSI_DBG_SESSION(conn->session, "Tx suspended!\n"); in iscsi_data_xmit()
1607 spin_unlock_bh(&conn->session->frwd_lock); in iscsi_data_xmit()
1629 spin_lock_bh(&conn->session->back_lock); in iscsi_data_xmit()
1631 spin_unlock_bh(&conn->session->back_lock); in iscsi_data_xmit()
1644 if (conn->session->state == ISCSI_STATE_LOGGING_OUT) in iscsi_data_xmit()
1666 if (conn->session->state == ISCSI_STATE_LOGGING_OUT) { in iscsi_data_xmit()
1692 spin_unlock_bh(&conn->session->frwd_lock); in iscsi_data_xmit()
1696 spin_unlock_bh(&conn->session->frwd_lock); in iscsi_data_xmit()
1718 if (!kfifo_out(&conn->session->cmdpool.queue, in iscsi_alloc_task()
1722 iscsi_cmd(sc)->age = conn->session->age; in iscsi_alloc_task()
1756 struct iscsi_session *session; in iscsi_queuecommand() local
1766 session = cls_session->dd_data; in iscsi_queuecommand()
1767 spin_lock_bh(&session->frwd_lock); in iscsi_queuecommand()
1775 if (session->state != ISCSI_STATE_LOGGED_IN) { in iscsi_queuecommand()
1778 * and block the session we requeue here (commands could in iscsi_queuecommand()
1782 switch (session->state) { in iscsi_queuecommand()
1785 * cmds should fail during shutdown, if the session in iscsi_queuecommand()
1817 conn = session->leadconn; in iscsi_queuecommand()
1852 if (session->tt->xmit_task(task)) { in iscsi_queuecommand()
1853 session->cmdsn--; in iscsi_queuecommand()
1862 session->queued_cmdsn++; in iscsi_queuecommand()
1863 spin_unlock_bh(&session->frwd_lock); in iscsi_queuecommand()
1867 spin_lock_bh(&session->back_lock); in iscsi_queuecommand()
1869 spin_unlock_bh(&session->back_lock); in iscsi_queuecommand()
1871 spin_unlock_bh(&session->frwd_lock); in iscsi_queuecommand()
1872 ISCSI_DBG_SESSION(session, "cmd 0x%x rejected (%d)\n", in iscsi_queuecommand()
1877 spin_lock_bh(&session->back_lock); in iscsi_queuecommand()
1879 spin_unlock_bh(&session->back_lock); in iscsi_queuecommand()
1881 spin_unlock_bh(&session->frwd_lock); in iscsi_queuecommand()
1882 ISCSI_DBG_SESSION(session, "iscsi: cmd 0x%x is not queued (%d)\n", in iscsi_queuecommand()
1893 struct iscsi_session *session = cls_session->dd_data; in iscsi_target_alloc() local
1895 starget->can_queue = session->scsi_cmds_max; in iscsi_target_alloc()
1902 struct iscsi_session *session = timer_container_of(session, t, in iscsi_tmf_timedout() local
1905 spin_lock(&session->frwd_lock); in iscsi_tmf_timedout()
1906 if (session->tmf_state == TMF_QUEUED) { in iscsi_tmf_timedout()
1907 session->tmf_state = TMF_TIMEDOUT; in iscsi_tmf_timedout()
1908 ISCSI_DBG_EH(session, "tmf timedout\n"); in iscsi_tmf_timedout()
1910 wake_up(&session->ehwait); in iscsi_tmf_timedout()
1912 spin_unlock(&session->frwd_lock); in iscsi_tmf_timedout()
1918 __must_hold(&session->frwd_lock) in iscsi_exec_task_mgmt_fn()
1920 struct iscsi_session *session = conn->session; in iscsi_exec_task_mgmt_fn() local
1923 spin_unlock_bh(&session->frwd_lock); in iscsi_exec_task_mgmt_fn()
1926 spin_lock_bh(&session->frwd_lock); in iscsi_exec_task_mgmt_fn()
1930 session->tmf_timer.expires = timeout * HZ + jiffies; in iscsi_exec_task_mgmt_fn()
1931 add_timer(&session->tmf_timer); in iscsi_exec_task_mgmt_fn()
1932 ISCSI_DBG_EH(session, "tmf set timeout\n"); in iscsi_exec_task_mgmt_fn()
1934 spin_unlock_bh(&session->frwd_lock); in iscsi_exec_task_mgmt_fn()
1935 mutex_unlock(&session->eh_mutex); in iscsi_exec_task_mgmt_fn()
1942 * 3) session is terminated or restarted or userspace has in iscsi_exec_task_mgmt_fn()
1945 wait_event_interruptible(session->ehwait, age != session->age || in iscsi_exec_task_mgmt_fn()
1946 session->state != ISCSI_STATE_LOGGED_IN || in iscsi_exec_task_mgmt_fn()
1947 session->tmf_state != TMF_QUEUED); in iscsi_exec_task_mgmt_fn()
1950 timer_delete_sync(&session->tmf_timer); in iscsi_exec_task_mgmt_fn()
1952 mutex_lock(&session->eh_mutex); in iscsi_exec_task_mgmt_fn()
1953 spin_lock_bh(&session->frwd_lock); in iscsi_exec_task_mgmt_fn()
1954 /* if the session drops it will clean up the task */ in iscsi_exec_task_mgmt_fn()
1955 if (age != session->age || in iscsi_exec_task_mgmt_fn()
1956 session->state != ISCSI_STATE_LOGGED_IN) in iscsi_exec_task_mgmt_fn()
1962 * Fail commands. session frwd lock held and xmit thread flushed.
1966 struct iscsi_session *session = conn->session; in fail_scsi_tasks() local
1971 spin_lock_bh(&session->back_lock); in fail_scsi_tasks()
1972 for (i = 0; i < session->cmds_max; i++) { in fail_scsi_tasks()
1973 task = session->cmds[i]; in fail_scsi_tasks()
1985 spin_unlock_bh(&session->back_lock); in fail_scsi_tasks()
1986 spin_unlock_bh(&session->frwd_lock); in fail_scsi_tasks()
1988 spin_lock_bh(&session->frwd_lock); in fail_scsi_tasks()
1992 ISCSI_DBG_SESSION(session, in fail_scsi_tasks()
1998 spin_unlock_bh(&session->back_lock); in fail_scsi_tasks()
2005 * This grabs the session frwd_lock to make sure no one is in
2014 spin_lock_bh(&conn->session->frwd_lock); in iscsi_suspend_queue()
2016 spin_unlock_bh(&conn->session->frwd_lock); in iscsi_suspend_queue()
2030 struct Scsi_Host *shost = conn->session->host; in iscsi_suspend_tx()
2051 struct Scsi_Host *shost = conn->session->host; in iscsi_suspend_rx()
2081 struct iscsi_session *session; in iscsi_eh_cmd_timed_out() local
2086 session = cls_session->dd_data; in iscsi_eh_cmd_timed_out()
2088 ISCSI_DBG_EH(session, "scsi cmd %p timedout\n", sc); in iscsi_eh_cmd_timed_out()
2090 spin_lock_bh(&session->frwd_lock); in iscsi_eh_cmd_timed_out()
2091 spin_lock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2099 spin_unlock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2109 spin_unlock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2112 spin_unlock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2114 if (session->state != ISCSI_STATE_LOGGED_IN) { in iscsi_eh_cmd_timed_out()
2116 * During shutdown, if session is prematurely disconnected, in iscsi_eh_cmd_timed_out()
2124 ISCSI_DBG_EH(session, "sc on shutdown, handled\n"); in iscsi_eh_cmd_timed_out()
2136 conn = session->leadconn; in iscsi_eh_cmd_timed_out()
2151 ISCSI_DBG_EH(session, "Command making progress. Asking " in iscsi_eh_cmd_timed_out()
2171 spin_lock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2172 for (i = 0; i < conn->session->cmds_max; i++) { in iscsi_eh_cmd_timed_out()
2173 running_task = conn->session->cmds[i]; in iscsi_eh_cmd_timed_out()
2197 ISCSI_DBG_EH(session, "Command has not made progress " in iscsi_eh_cmd_timed_out()
2204 spin_unlock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2209 spin_unlock(&session->back_lock); in iscsi_eh_cmd_timed_out()
2231 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_cmd_timed_out()
2237 ISCSI_DBG_EH(session, "return %s\n", rc == SCSI_EH_RESET_TIMER ? in iscsi_eh_cmd_timed_out()
2246 struct iscsi_session *session = conn->session; in iscsi_check_transport_timeouts() local
2249 spin_lock(&session->frwd_lock); in iscsi_check_transport_timeouts()
2250 if (session->state != ISCSI_STATE_LOGGED_IN) in iscsi_check_transport_timeouts()
2266 spin_unlock(&session->frwd_lock); in iscsi_check_transport_timeouts()
2284 spin_unlock(&session->frwd_lock); in iscsi_check_transport_timeouts()
2298 struct iscsi_session *session; in iscsi_conn_unbind() local
2305 session = conn->session; in iscsi_conn_unbind()
2312 mutex_lock(&session->eh_mutex); in iscsi_conn_unbind()
2317 spin_lock_bh(&session->frwd_lock); in iscsi_conn_unbind()
2326 if (session->state == ISCSI_STATE_LOGGED_IN) in iscsi_conn_unbind()
2329 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_unbind()
2330 mutex_unlock(&session->eh_mutex); in iscsi_conn_unbind()
2349 struct iscsi_session *session; in iscsi_eh_abort() local
2356 session = cls_session->dd_data; in iscsi_eh_abort()
2358 ISCSI_DBG_EH(session, "aborting sc %p\n", sc); in iscsi_eh_abort()
2361 mutex_lock(&session->eh_mutex); in iscsi_eh_abort()
2362 spin_lock_bh(&session->frwd_lock); in iscsi_eh_abort()
2364 * if session was ISCSI_STATE_IN_RECOVERY then we may not have in iscsi_eh_abort()
2368 ISCSI_DBG_EH(session, "sc never reached iscsi layer or " in iscsi_eh_abort()
2370 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2371 mutex_unlock(&session->eh_mutex); in iscsi_eh_abort()
2376 * If we are not logged in or we have started a new session in iscsi_eh_abort()
2379 if (!session->leadconn || session->state != ISCSI_STATE_LOGGED_IN || in iscsi_eh_abort()
2380 iscsi_cmd(sc)->age != session->age) { in iscsi_eh_abort()
2381 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2382 mutex_unlock(&session->eh_mutex); in iscsi_eh_abort()
2383 ISCSI_DBG_EH(session, "failing abort due to dropped " in iscsi_eh_abort()
2384 "session.\n"); in iscsi_eh_abort()
2388 spin_lock(&session->back_lock); in iscsi_eh_abort()
2392 ISCSI_DBG_EH(session, "sc completed while abort in progress\n"); in iscsi_eh_abort()
2394 spin_unlock(&session->back_lock); in iscsi_eh_abort()
2395 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2396 mutex_unlock(&session->eh_mutex); in iscsi_eh_abort()
2401 spin_unlock(&session->back_lock); in iscsi_eh_abort()
2402 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2403 mutex_unlock(&session->eh_mutex); in iscsi_eh_abort()
2409 ISCSI_DBG_EH(session, "aborting [sc %p itt 0x%x]\n", sc, task->itt); in iscsi_eh_abort()
2410 conn = session->leadconn; in iscsi_eh_abort()
2413 age = session->age; in iscsi_eh_abort()
2414 spin_unlock(&session->back_lock); in iscsi_eh_abort()
2422 if (session->tmf_state != TMF_INITIAL) in iscsi_eh_abort()
2424 session->tmf_state = TMF_QUEUED; in iscsi_eh_abort()
2426 hdr = &session->tmhdr; in iscsi_eh_abort()
2429 if (iscsi_exec_task_mgmt_fn(conn, hdr, age, session->abort_timeout)) in iscsi_eh_abort()
2432 switch (session->tmf_state) { in iscsi_eh_abort()
2434 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2445 spin_lock_bh(&session->frwd_lock); in iscsi_eh_abort()
2447 session->tmf_state = TMF_INITIAL; in iscsi_eh_abort()
2449 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2453 session->running_aborted_task = task; in iscsi_eh_abort()
2454 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2459 session->tmf_state = TMF_INITIAL; in iscsi_eh_abort()
2462 ISCSI_DBG_EH(session, "sc completed while abort in " in iscsi_eh_abort()
2468 session->tmf_state = TMF_INITIAL; in iscsi_eh_abort()
2473 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2475 ISCSI_DBG_EH(session, "abort success [sc %p itt 0x%x]\n", in iscsi_eh_abort()
2479 mutex_unlock(&session->eh_mutex); in iscsi_eh_abort()
2483 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_abort()
2485 ISCSI_DBG_EH(session, "abort failed [sc %p itt 0x%x]\n", sc, in iscsi_eh_abort()
2492 if (!session->running_aborted_task) in iscsi_eh_abort()
2496 mutex_unlock(&session->eh_mutex); in iscsi_eh_abort()
2514 struct iscsi_session *session; in iscsi_eh_device_reset() local
2520 session = cls_session->dd_data; in iscsi_eh_device_reset()
2522 ISCSI_DBG_EH(session, "LU Reset [sc %p lun %llu]\n", sc, in iscsi_eh_device_reset()
2525 mutex_lock(&session->eh_mutex); in iscsi_eh_device_reset()
2526 spin_lock_bh(&session->frwd_lock); in iscsi_eh_device_reset()
2531 if (!session->leadconn || session->state != ISCSI_STATE_LOGGED_IN) in iscsi_eh_device_reset()
2533 conn = session->leadconn; in iscsi_eh_device_reset()
2536 if (session->tmf_state != TMF_INITIAL) in iscsi_eh_device_reset()
2538 session->tmf_state = TMF_QUEUED; in iscsi_eh_device_reset()
2540 hdr = &session->tmhdr; in iscsi_eh_device_reset()
2543 if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age, in iscsi_eh_device_reset()
2544 session->lu_reset_timeout)) { in iscsi_eh_device_reset()
2549 switch (session->tmf_state) { in iscsi_eh_device_reset()
2553 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_device_reset()
2557 session->tmf_state = TMF_INITIAL; in iscsi_eh_device_reset()
2562 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_device_reset()
2566 spin_lock_bh(&session->frwd_lock); in iscsi_eh_device_reset()
2569 session->tmf_state = TMF_INITIAL; in iscsi_eh_device_reset()
2570 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_device_reset()
2576 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_device_reset()
2578 ISCSI_DBG_EH(session, "dev reset result = %s\n", in iscsi_eh_device_reset()
2580 mutex_unlock(&session->eh_mutex); in iscsi_eh_device_reset()
2587 struct iscsi_session *session = cls_session->dd_data; in iscsi_session_recovery_timedout() local
2589 spin_lock_bh(&session->frwd_lock); in iscsi_session_recovery_timedout()
2590 if (session->state != ISCSI_STATE_LOGGED_IN) { in iscsi_session_recovery_timedout()
2591 session->state = ISCSI_STATE_RECOVERY_FAILED; in iscsi_session_recovery_timedout()
2592 wake_up(&session->ehwait); in iscsi_session_recovery_timedout()
2594 spin_unlock_bh(&session->frwd_lock); in iscsi_session_recovery_timedout()
2599 * iscsi_eh_session_reset - drop session and attempt relogin
2602 * This function will wait for a relogin, session termination from
2608 struct iscsi_session *session; in iscsi_eh_session_reset() local
2612 session = cls_session->dd_data; in iscsi_eh_session_reset()
2614 mutex_lock(&session->eh_mutex); in iscsi_eh_session_reset()
2615 spin_lock_bh(&session->frwd_lock); in iscsi_eh_session_reset()
2616 if (session->state == ISCSI_STATE_TERMINATE) { in iscsi_eh_session_reset()
2618 ISCSI_DBG_EH(session, in iscsi_eh_session_reset()
2619 "failing session reset: Could not log back into " in iscsi_eh_session_reset()
2620 "%s [age %d]\n", session->targetname, in iscsi_eh_session_reset()
2621 session->age); in iscsi_eh_session_reset()
2622 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_session_reset()
2623 mutex_unlock(&session->eh_mutex); in iscsi_eh_session_reset()
2627 conn = session->leadconn; in iscsi_eh_session_reset()
2630 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_session_reset()
2631 mutex_unlock(&session->eh_mutex); in iscsi_eh_session_reset()
2636 ISCSI_DBG_EH(session, "wait for relogin\n"); in iscsi_eh_session_reset()
2637 wait_event_interruptible(session->ehwait, in iscsi_eh_session_reset()
2638 session->state == ISCSI_STATE_TERMINATE || in iscsi_eh_session_reset()
2639 session->state == ISCSI_STATE_LOGGED_IN || in iscsi_eh_session_reset()
2640 session->state == ISCSI_STATE_RECOVERY_FAILED); in iscsi_eh_session_reset()
2644 mutex_lock(&session->eh_mutex); in iscsi_eh_session_reset()
2645 spin_lock_bh(&session->frwd_lock); in iscsi_eh_session_reset()
2646 if (session->state == ISCSI_STATE_LOGGED_IN) { in iscsi_eh_session_reset()
2647 ISCSI_DBG_EH(session, in iscsi_eh_session_reset()
2648 "session reset succeeded for %s,%s\n", in iscsi_eh_session_reset()
2649 session->targetname, conn->persistent_address); in iscsi_eh_session_reset()
2652 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_session_reset()
2653 mutex_unlock(&session->eh_mutex); in iscsi_eh_session_reset()
2676 struct iscsi_session *session; in iscsi_eh_target_reset() local
2682 session = cls_session->dd_data; in iscsi_eh_target_reset()
2684 ISCSI_DBG_EH(session, "tgt Reset [sc %p tgt %s]\n", sc, in iscsi_eh_target_reset()
2685 session->targetname); in iscsi_eh_target_reset()
2687 mutex_lock(&session->eh_mutex); in iscsi_eh_target_reset()
2688 spin_lock_bh(&session->frwd_lock); in iscsi_eh_target_reset()
2693 if (!session->leadconn || session->state != ISCSI_STATE_LOGGED_IN) in iscsi_eh_target_reset()
2695 conn = session->leadconn; in iscsi_eh_target_reset()
2698 if (session->tmf_state != TMF_INITIAL) in iscsi_eh_target_reset()
2700 session->tmf_state = TMF_QUEUED; in iscsi_eh_target_reset()
2702 hdr = &session->tmhdr; in iscsi_eh_target_reset()
2705 if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age, in iscsi_eh_target_reset()
2706 session->tgt_reset_timeout)) { in iscsi_eh_target_reset()
2711 switch (session->tmf_state) { in iscsi_eh_target_reset()
2715 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_target_reset()
2719 session->tmf_state = TMF_INITIAL; in iscsi_eh_target_reset()
2724 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_target_reset()
2728 spin_lock_bh(&session->frwd_lock); in iscsi_eh_target_reset()
2731 session->tmf_state = TMF_INITIAL; in iscsi_eh_target_reset()
2732 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_target_reset()
2738 spin_unlock_bh(&session->frwd_lock); in iscsi_eh_target_reset()
2740 ISCSI_DBG_EH(session, "tgt %s reset result = %s\n", session->targetname, in iscsi_eh_target_reset()
2742 mutex_unlock(&session->eh_mutex); in iscsi_eh_target_reset()
2747 * iscsi_eh_recover_target - reset target and possibly the session
2751 * we will escalate to ERL0 session recovery.
2989 "of session teardown event because host already " in iscsi_host_dec_session_cnt()
3003 * iscsi_session_setup - create iscsi cls session and host and session
3006 * @cmds_max: session can queue
3007 * @dd_size: private driver data size, added to session allocation size
3010 * @id: target ID to add to this session
3013 * a session per scsi host.
3025 struct iscsi_session *session; in iscsi_session_setup() local
3047 session = cls_session->dd_data; in iscsi_session_setup()
3048 session->cls_session = cls_session; in iscsi_session_setup()
3049 session->host = shost; in iscsi_session_setup()
3050 session->state = ISCSI_STATE_FREE; in iscsi_session_setup()
3051 session->fast_abort = 1; in iscsi_session_setup()
3052 session->tgt_reset_timeout = 30; in iscsi_session_setup()
3053 session->lu_reset_timeout = 15; in iscsi_session_setup()
3054 session->abort_timeout = 10; in iscsi_session_setup()
3055 session->scsi_cmds_max = scsi_cmds; in iscsi_session_setup()
3056 session->cmds_max = scsi_cmds + ISCSI_MGMT_CMDS_MAX; in iscsi_session_setup()
3057 session->queued_cmdsn = session->cmdsn = initial_cmdsn; in iscsi_session_setup()
3058 session->exp_cmdsn = initial_cmdsn + 1; in iscsi_session_setup()
3059 session->max_cmdsn = initial_cmdsn + 1; in iscsi_session_setup()
3060 session->max_r2t = 1; in iscsi_session_setup()
3061 session->tt = iscsit; in iscsi_session_setup()
3062 session->dd_data = cls_session->dd_data + sizeof(*session); in iscsi_session_setup()
3064 session->tmf_state = TMF_INITIAL; in iscsi_session_setup()
3065 timer_setup(&session->tmf_timer, iscsi_tmf_timedout, 0); in iscsi_session_setup()
3066 mutex_init(&session->eh_mutex); in iscsi_session_setup()
3067 init_waitqueue_head(&session->ehwait); in iscsi_session_setup()
3069 spin_lock_init(&session->frwd_lock); in iscsi_session_setup()
3070 spin_lock_init(&session->back_lock); in iscsi_session_setup()
3073 if (iscsi_pool_init(&session->cmdpool, session->cmds_max, in iscsi_session_setup()
3074 (void***)&session->cmds, in iscsi_session_setup()
3079 for (cmd_i = 0; cmd_i < session->cmds_max; cmd_i++) { in iscsi_session_setup()
3080 struct iscsi_task *task = session->cmds[cmd_i]; in iscsi_session_setup()
3100 iscsi_pool_free(&session->cmdpool); in iscsi_session_setup()
3110 * issi_session_remove - Remove session from iSCSI class.
3114 struct iscsi_session *session = cls_session->dd_data; in iscsi_session_remove() local
3115 struct Scsi_Host *shost = session->host; in iscsi_session_remove()
3121 * the session, so drop the session count here. in iscsi_session_remove()
3128 * iscsi_session_free - Free iscsi session and it's resources
3129 * @cls_session: iscsi session
3133 struct iscsi_session *session = cls_session->dd_data; in iscsi_session_free() local
3136 iscsi_pool_free(&session->cmdpool); in iscsi_session_free()
3137 kfree(session->password); in iscsi_session_free()
3138 kfree(session->password_in); in iscsi_session_free()
3139 kfree(session->username); in iscsi_session_free()
3140 kfree(session->username_in); in iscsi_session_free()
3141 kfree(session->targetname); in iscsi_session_free()
3142 kfree(session->targetalias); in iscsi_session_free()
3143 kfree(session->initiatorname); in iscsi_session_free()
3144 kfree(session->boot_root); in iscsi_session_free()
3145 kfree(session->boot_nic); in iscsi_session_free()
3146 kfree(session->boot_target); in iscsi_session_free()
3147 kfree(session->ifacename); in iscsi_session_free()
3148 kfree(session->portal_type); in iscsi_session_free()
3149 kfree(session->discovery_parent_type); in iscsi_session_free()
3157 * iscsi_session_teardown - destroy session and cls_session
3158 * @cls_session: iscsi session
3177 struct iscsi_session *session = cls_session->dd_data; in iscsi_conn_setup() local
3191 conn->session = session; in iscsi_conn_setup()
3205 spin_lock_bh(&session->frwd_lock); in iscsi_conn_setup()
3206 if (!kfifo_out(&session->cmdpool.queue, in iscsi_conn_setup()
3209 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_setup()
3212 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_setup()
3231 kfifo_in(&session->cmdpool.queue, (void*)&conn->login_task, in iscsi_conn_setup()
3249 struct iscsi_session *session = conn->session; in iscsi_conn_teardown() local
3255 mutex_lock(&session->eh_mutex); in iscsi_conn_teardown()
3256 spin_lock_bh(&session->frwd_lock); in iscsi_conn_teardown()
3258 if (session->leadconn == conn) { in iscsi_conn_teardown()
3262 session->state = ISCSI_STATE_TERMINATE; in iscsi_conn_teardown()
3263 wake_up(&session->ehwait); in iscsi_conn_teardown()
3265 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_teardown()
3270 spin_lock_bh(&session->frwd_lock); in iscsi_conn_teardown()
3276 spin_lock_bh(&session->back_lock); in iscsi_conn_teardown()
3277 kfifo_in(&session->cmdpool.queue, (void*)&conn->login_task, in iscsi_conn_teardown()
3279 spin_unlock_bh(&session->back_lock); in iscsi_conn_teardown()
3280 if (session->leadconn == conn) in iscsi_conn_teardown()
3281 session->leadconn = NULL; in iscsi_conn_teardown()
3282 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_teardown()
3283 mutex_unlock(&session->eh_mutex); in iscsi_conn_teardown()
3292 struct iscsi_session *session = conn->session; in iscsi_conn_start() local
3294 if (!session) { in iscsi_conn_start()
3300 if ((session->imm_data_en || !session->initial_r2t_en) && in iscsi_conn_start()
3301 session->first_burst > session->max_burst) { in iscsi_conn_start()
3304 session->first_burst, session->max_burst); in iscsi_conn_start()
3320 spin_lock_bh(&session->frwd_lock); in iscsi_conn_start()
3322 session->state = ISCSI_STATE_LOGGED_IN; in iscsi_conn_start()
3323 session->queued_cmdsn = session->cmdsn; in iscsi_conn_start()
3338 session->tmf_state = TMF_INITIAL; in iscsi_conn_start()
3339 session->age++; in iscsi_conn_start()
3340 if (session->age == 16) in iscsi_conn_start()
3341 session->age = 0; in iscsi_conn_start()
3349 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_start()
3351 iscsi_unblock_session(session->cls_session); in iscsi_conn_start()
3352 wake_up(&session->ehwait); in iscsi_conn_start()
3358 fail_mgmt_tasks(struct iscsi_session *session, struct iscsi_conn *conn) in fail_mgmt_tasks() argument
3363 for (i = 0; i < conn->session->cmds_max; i++) { in fail_mgmt_tasks()
3364 task = conn->session->cmds[i]; in fail_mgmt_tasks()
3371 ISCSI_DBG_SESSION(conn->session, in fail_mgmt_tasks()
3375 spin_lock_bh(&session->back_lock); in fail_mgmt_tasks()
3377 spin_unlock_bh(&session->back_lock); in fail_mgmt_tasks()
3385 spin_unlock_bh(&session->back_lock); in fail_mgmt_tasks()
3392 struct iscsi_session *session = conn->session; in iscsi_conn_stop() local
3395 mutex_lock(&session->eh_mutex); in iscsi_conn_stop()
3396 spin_lock_bh(&session->frwd_lock); in iscsi_conn_stop()
3398 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_stop()
3399 mutex_unlock(&session->eh_mutex); in iscsi_conn_stop()
3409 session->state = ISCSI_STATE_TERMINATE; in iscsi_conn_stop()
3411 session->state = ISCSI_STATE_IN_RECOVERY; in iscsi_conn_stop()
3415 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_stop()
3420 spin_lock_bh(&session->frwd_lock); in iscsi_conn_stop()
3422 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_stop()
3433 if (session->state == ISCSI_STATE_IN_RECOVERY && in iscsi_conn_stop()
3435 ISCSI_DBG_SESSION(session, "blocking session\n"); in iscsi_conn_stop()
3436 iscsi_block_session(session->cls_session); in iscsi_conn_stop()
3443 spin_lock_bh(&session->frwd_lock); in iscsi_conn_stop()
3445 fail_mgmt_tasks(session, conn); in iscsi_conn_stop()
3446 memset(&session->tmhdr, 0, sizeof(session->tmhdr)); in iscsi_conn_stop()
3447 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_stop()
3448 mutex_unlock(&session->eh_mutex); in iscsi_conn_stop()
3455 struct iscsi_session *session = cls_session->dd_data; in iscsi_conn_bind() local
3458 spin_lock_bh(&session->frwd_lock); in iscsi_conn_bind()
3460 session->leadconn = conn; in iscsi_conn_bind()
3463 spin_unlock_bh(&session->frwd_lock); in iscsi_conn_bind()
3469 spin_lock_bh(&session->back_lock); in iscsi_conn_bind()
3470 session->max_cmdsn = session->exp_cmdsn = session->cmdsn + 1; in iscsi_conn_bind()
3471 spin_unlock_bh(&session->back_lock); in iscsi_conn_bind()
3504 struct iscsi_session *session = conn->session; in iscsi_set_param() local
3509 sscanf(buf, "%d", &session->fast_abort); in iscsi_set_param()
3512 sscanf(buf, "%d", &session->abort_timeout); in iscsi_set_param()
3515 sscanf(buf, "%d", &session->lu_reset_timeout); in iscsi_set_param()
3518 sscanf(buf, "%d", &session->tgt_reset_timeout); in iscsi_set_param()
3539 sscanf(buf, "%d", &session->initial_r2t_en); in iscsi_set_param()
3542 sscanf(buf, "%hu", &session->max_r2t); in iscsi_set_param()
3545 sscanf(buf, "%d", &session->imm_data_en); in iscsi_set_param()
3548 sscanf(buf, "%d", &session->first_burst); in iscsi_set_param()
3551 sscanf(buf, "%d", &session->max_burst); in iscsi_set_param()
3554 sscanf(buf, "%d", &session->pdu_inorder_en); in iscsi_set_param()
3557 sscanf(buf, "%d", &session->dataseq_inorder_en); in iscsi_set_param()
3560 sscanf(buf, "%d", &session->erl); in iscsi_set_param()
3566 return iscsi_switch_str_param(&session->username, buf); in iscsi_set_param()
3568 return iscsi_switch_str_param(&session->username_in, buf); in iscsi_set_param()
3570 return iscsi_switch_str_param(&session->password, buf); in iscsi_set_param()
3572 return iscsi_switch_str_param(&session->password_in, buf); in iscsi_set_param()
3574 return iscsi_switch_str_param(&session->targetname, buf); in iscsi_set_param()
3576 return iscsi_switch_str_param(&session->targetalias, buf); in iscsi_set_param()
3578 sscanf(buf, "%d", &session->tpgt); in iscsi_set_param()
3586 return iscsi_switch_str_param(&session->ifacename, buf); in iscsi_set_param()
3588 return iscsi_switch_str_param(&session->initiatorname, buf); in iscsi_set_param()
3590 return iscsi_switch_str_param(&session->boot_root, buf); in iscsi_set_param()
3592 return iscsi_switch_str_param(&session->boot_nic, buf); in iscsi_set_param()
3594 return iscsi_switch_str_param(&session->boot_target, buf); in iscsi_set_param()
3596 return iscsi_switch_str_param(&session->portal_type, buf); in iscsi_set_param()
3598 return iscsi_switch_str_param(&session->discovery_parent_type, in iscsi_set_param()
3602 session->discovery_sess = !!val; in iscsi_set_param()
3617 struct iscsi_session *session = cls_session->dd_data; in iscsi_session_get_param() local
3622 len = sysfs_emit(buf, "%d\n", session->fast_abort); in iscsi_session_get_param()
3625 len = sysfs_emit(buf, "%d\n", session->abort_timeout); in iscsi_session_get_param()
3628 len = sysfs_emit(buf, "%d\n", session->lu_reset_timeout); in iscsi_session_get_param()
3631 len = sysfs_emit(buf, "%d\n", session->tgt_reset_timeout); in iscsi_session_get_param()
3634 len = sysfs_emit(buf, "%d\n", session->initial_r2t_en); in iscsi_session_get_param()
3637 len = sysfs_emit(buf, "%hu\n", session->max_r2t); in iscsi_session_get_param()
3640 len = sysfs_emit(buf, "%d\n", session->imm_data_en); in iscsi_session_get_param()
3643 len = sysfs_emit(buf, "%u\n", session->first_burst); in iscsi_session_get_param()
3646 len = sysfs_emit(buf, "%u\n", session->max_burst); in iscsi_session_get_param()
3649 len = sysfs_emit(buf, "%d\n", session->pdu_inorder_en); in iscsi_session_get_param()
3652 len = sysfs_emit(buf, "%d\n", session->dataseq_inorder_en); in iscsi_session_get_param()
3655 len = sysfs_emit(buf, "%d\n", session->def_taskmgmt_tmo); in iscsi_session_get_param()
3658 len = sysfs_emit(buf, "%d\n", session->erl); in iscsi_session_get_param()
3661 len = sysfs_emit(buf, "%s\n", session->targetname); in iscsi_session_get_param()
3664 len = sysfs_emit(buf, "%s\n", session->targetalias); in iscsi_session_get_param()
3667 len = sysfs_emit(buf, "%d\n", session->tpgt); in iscsi_session_get_param()
3670 len = sysfs_emit(buf, "%s\n", session->username); in iscsi_session_get_param()
3673 len = sysfs_emit(buf, "%s\n", session->username_in); in iscsi_session_get_param()
3676 len = sysfs_emit(buf, "%s\n", session->password); in iscsi_session_get_param()
3679 len = sysfs_emit(buf, "%s\n", session->password_in); in iscsi_session_get_param()
3682 len = sysfs_emit(buf, "%s\n", session->ifacename); in iscsi_session_get_param()
3685 len = sysfs_emit(buf, "%s\n", session->initiatorname); in iscsi_session_get_param()
3688 len = sysfs_emit(buf, "%s\n", session->boot_root); in iscsi_session_get_param()
3691 len = sysfs_emit(buf, "%s\n", session->boot_nic); in iscsi_session_get_param()
3694 len = sysfs_emit(buf, "%s\n", session->boot_target); in iscsi_session_get_param()
3697 len = sysfs_emit(buf, "%u\n", session->auto_snd_tgt_disable); in iscsi_session_get_param()
3700 len = sysfs_emit(buf, "%u\n", session->discovery_sess); in iscsi_session_get_param()
3703 len = sysfs_emit(buf, "%s\n", session->portal_type); in iscsi_session_get_param()
3706 len = sysfs_emit(buf, "%u\n", session->chap_auth_en); in iscsi_session_get_param()
3709 len = sysfs_emit(buf, "%u\n", session->discovery_logout_en); in iscsi_session_get_param()
3712 len = sysfs_emit(buf, "%u\n", session->bidi_chap_en); in iscsi_session_get_param()
3715 len = sysfs_emit(buf, "%u\n", session->discovery_auth_optional); in iscsi_session_get_param()
3718 len = sysfs_emit(buf, "%d\n", session->time2wait); in iscsi_session_get_param()
3721 len = sysfs_emit(buf, "%d\n", session->time2retain); in iscsi_session_get_param()
3724 len = sysfs_emit(buf, "%u\n", session->tsid); in iscsi_session_get_param()
3728 session->isid[0], session->isid[1], in iscsi_session_get_param()
3729 session->isid[2], session->isid[3], in iscsi_session_get_param()
3730 session->isid[4], session->isid[5]); in iscsi_session_get_param()
3733 len = sysfs_emit(buf, "%u\n", session->discovery_parent_idx); in iscsi_session_get_param()
3736 if (session->discovery_parent_type) in iscsi_session_get_param()
3738 session->discovery_parent_type); in iscsi_session_get_param()