Lines Matching refs:session
188 ndmpd_add_file_handler(ndmpd_session_t *session, void *cookie, int fd, in ndmpd_add_file_handler() argument
202 new->fh_next = session->ns_file_handler_list; in ndmpd_add_file_handler()
203 session->ns_file_handler_list = new; in ndmpd_add_file_handler()
222 ndmpd_remove_file_handler(ndmpd_session_t *session, int fd) in ndmpd_remove_file_handler() argument
227 last = &session->ns_file_handler_list; in ndmpd_remove_file_handler()
291 ndmp_check_mover_state(ndmpd_session_t *session) in ndmp_check_mover_state() argument
301 moverfd = session->ns_mover.md_sock; in ndmp_check_mover_state()
304 session->ns_mover.md_mode == NDMP_MOVER_MODE_WRITE) { in ndmp_check_mover_state()
319 ndmpd_mover_error(session, reason); in ndmp_check_mover_state()
350 ndmpd_select(ndmpd_session_t *session, boolean_t block, ulong_t class_mask) in ndmpd_select() argument
360 if (session->ns_file_handler_list == 0) in ndmpd_select()
384 for (handler = session->ns_file_handler_list; handler != 0; in ndmpd_select()
396 ndmp_check_mover_state(session); in ndmpd_select()
401 int connection_fd = ndmp_get_fd(session->ns_connection); in ndmpd_select()
408 nlp = ndmp_get_nlp(session); in ndmpd_select()
410 for (handler = session->ns_file_handler_list; handler != 0; in ndmpd_select()
418 session->ns_eof = TRUE; in ndmpd_select()
423 session->ns_eof = TRUE; in ndmpd_select()
428 session->ns_eof = TRUE; in ndmpd_select()
438 handler = session->ns_file_handler_list; in ndmpd_select()
474 handler = session->ns_file_handler_list; in ndmpd_select()
499 ndmpd_save_env(ndmpd_session_t *session, ndmp_pval *env, ulong_t envlen) in ndmpd_save_env() argument
505 session->ns_data.dd_env_len = 0; in ndmpd_save_env()
510 session->ns_data.dd_env = ndmp_malloc(sizeof (ndmp_pval) * envlen); in ndmpd_save_env()
511 if (session->ns_data.dd_env == 0) in ndmpd_save_env()
528 (void) mutex_lock(&session->ns_lock); in ndmpd_save_env()
529 session->ns_data.dd_env[i].name = namebuf; in ndmpd_save_env()
530 session->ns_data.dd_env[i].value = valbuf; in ndmpd_save_env()
531 session->ns_data.dd_env_len++; in ndmpd_save_env()
532 (void) mutex_unlock(&session->ns_lock); in ndmpd_save_env()
551 ndmpd_free_env(ndmpd_session_t *session) in ndmpd_free_env() argument
554 int count = session->ns_data.dd_env_len; in ndmpd_free_env()
556 (void) mutex_lock(&session->ns_lock); in ndmpd_free_env()
557 session->ns_data.dd_env_len = 0; in ndmpd_free_env()
559 free(session->ns_data.dd_env[i].name); in ndmpd_free_env()
560 free(session->ns_data.dd_env[i].value); in ndmpd_free_env()
563 free((char *)session->ns_data.dd_env); in ndmpd_free_env()
564 session->ns_data.dd_env = 0; in ndmpd_free_env()
565 (void) mutex_unlock(&session->ns_lock); in ndmpd_free_env()
586 ndmpd_save_nlist_v2(ndmpd_session_t *session, ndmp_name *nlist, in ndmpd_save_nlist_v2() argument
596 session->ns_data.dd_nlist_len = 0; in ndmpd_save_nlist_v2()
597 session->ns_data.dd_nlist = ndmp_malloc(sizeof (ndmp_name)*nlistlen); in ndmpd_save_nlist_v2()
598 if (session->ns_data.dd_nlist == 0) in ndmpd_save_nlist_v2()
616 session->ns_data.dd_nlist[i].name = namebuf; in ndmpd_save_nlist_v2()
617 session->ns_data.dd_nlist[i].dest = destbuf; in ndmpd_save_nlist_v2()
618 session->ns_data.dd_nlist[i].ssid = nlist[i].ssid; in ndmpd_save_nlist_v2()
619 session->ns_data.dd_nlist[i].fh_info = nlist[i].fh_info; in ndmpd_save_nlist_v2()
620 session->ns_data.dd_nlist_len++; in ndmpd_save_nlist_v2()
639 ndmpd_free_nlist_v2(ndmpd_session_t *session) in ndmpd_free_nlist_v2() argument
643 for (i = 0; i < session->ns_data.dd_nlist_len; i++) { in ndmpd_free_nlist_v2()
644 free(session->ns_data.dd_nlist[i].name); in ndmpd_free_nlist_v2()
645 free(session->ns_data.dd_nlist[i].dest); in ndmpd_free_nlist_v2()
648 if (session->ns_data.dd_nlist != NULL) in ndmpd_free_nlist_v2()
649 free((char *)session->ns_data.dd_nlist); in ndmpd_free_nlist_v2()
650 session->ns_data.dd_nlist = 0; in ndmpd_free_nlist_v2()
651 session->ns_data.dd_nlist_len = 0; in ndmpd_free_nlist_v2()
667 ndmpd_free_nlist_v3(ndmpd_session_t *session) in ndmpd_free_nlist_v3() argument
672 tp = session->ns_data.dd_nlist_v3; in ndmpd_free_nlist_v3()
673 for (i = 0; i < session->ns_data.dd_nlist_len; tp++, i++) { in ndmpd_free_nlist_v3()
679 NDMP_FREE(session->ns_data.dd_nlist_v3); in ndmpd_free_nlist_v3()
680 session->ns_data.dd_nlist_len = 0; in ndmpd_free_nlist_v3()
701 ndmpd_save_nlist_v3(ndmpd_session_t *session, ndmp_name_v3 *nlist, in ndmpd_save_nlist_v3() argument
712 session->ns_data.dd_nlist_len = 0; in ndmpd_save_nlist_v3()
713 tp = session->ns_data.dd_nlist_v3 = in ndmpd_save_nlist_v3()
715 if (session->ns_data.dd_nlist_v3 == 0) in ndmpd_save_nlist_v3()
729 if (session->ns_protocol_version == NDMPV4) { in ndmpd_save_nlist_v3()
747 session->ns_data.dd_nlist_len++; in ndmpd_save_nlist_v3()
757 ndmpd_free_nlist_v3(session); in ndmpd_save_nlist_v3()
775 ndmpd_free_nlist(ndmpd_session_t *session) in ndmpd_free_nlist() argument
777 switch (session->ns_protocol_version) { in ndmpd_free_nlist()
780 ndmpd_free_nlist_v2(session); in ndmpd_free_nlist()
784 ndmpd_free_nlist_v3(session); in ndmpd_free_nlist()
789 session->ns_protocol_version); in ndmpd_free_nlist()
838 ndmp_sort_nlist_v3(ndmpd_session_t *session) in ndmp_sort_nlist_v3() argument
840 if (!session || session->ns_data.dd_nlist_len == 0 || in ndmp_sort_nlist_v3()
841 !session->ns_data.dd_nlist_v3) in ndmp_sort_nlist_v3()
844 (void) qsort(session->ns_data.dd_nlist_v3, in ndmp_sort_nlist_v3()
845 session->ns_data.dd_nlist_len, in ndmp_sort_nlist_v3()
988 ndmp_buffer_get_size(ndmpd_session_t *session) in ndmp_buffer_get_size() argument
992 if (session == NULL) in ndmp_buffer_get_size()
995 if (session->ns_data.dd_mover.addr_type == NDMP_ADDR_TCP) { in ndmp_buffer_get_size()
1005 "Local operation: %lu", session->ns_mover.md_record_size); in ndmp_buffer_get_size()
1006 if ((xfer_size = session->ns_mover.md_record_size) == 0) in ndmp_buffer_get_size()
1028 ndmp_lbr_init(ndmpd_session_t *session) in ndmp_lbr_init() argument
1030 if (session->ns_ndmp_lbr_params != NULL) { in ndmp_lbr_init()
1035 session->ns_ndmp_lbr_params = ndmp_malloc(sizeof (ndmp_lbr_params_t)); in ndmp_lbr_init()
1036 if (session->ns_ndmp_lbr_params == NULL) in ndmp_lbr_init()
1039 session->ns_ndmp_lbr_params->nlp_bkmap = -1; in ndmp_lbr_init()
1040 session->ns_ndmp_lbr_params->nlp_session = session; in ndmp_lbr_init()
1041 (void) cond_init(&session->ns_ndmp_lbr_params->nlp_cv, 0, NULL); in ndmp_lbr_init()
1042 (void) mutex_init(&session->ns_ndmp_lbr_params->nlp_mtx, 0, NULL); in ndmp_lbr_init()
1043 (void) mutex_init(&session->ns_lock, 0, NULL); in ndmp_lbr_init()
1044 session->ns_nref = 0; in ndmp_lbr_init()
1062 ndmp_lbr_cleanup(ndmpd_session_t *session) in ndmp_lbr_cleanup() argument
1064 ndmpd_abort_marking_v2(session); in ndmp_lbr_cleanup()
1065 ndmp_stop_buffer_worker(session); in ndmp_lbr_cleanup()
1066 ndmp_waitfor_op(session); in ndmp_lbr_cleanup()
1067 ndmp_free_reader_writer_ipc(session); in ndmp_lbr_cleanup()
1068 if (session->ns_ndmp_lbr_params) { in ndmp_lbr_cleanup()
1069 if (session->ns_ndmp_lbr_params->nlp_bkmap != -1) in ndmp_lbr_cleanup()
1070 (void) dbm_free(session->ns_ndmp_lbr_params->nlp_bkmap); in ndmp_lbr_cleanup()
1071 tlm_release_list(session->ns_ndmp_lbr_params->nlp_exl); in ndmp_lbr_cleanup()
1072 tlm_release_list(session->ns_ndmp_lbr_params->nlp_inc); in ndmp_lbr_cleanup()
1073 (void) cond_destroy(&session->ns_ndmp_lbr_params->nlp_cv); in ndmp_lbr_cleanup()
1074 (void) mutex_destroy(&session->ns_ndmp_lbr_params->nlp_mtx); in ndmp_lbr_cleanup()
1077 NDMP_FREE(session->ns_ndmp_lbr_params); in ndmp_lbr_cleanup()
1093 ndmp_wait_for_mover(ndmpd_session_t *session) in ndmp_wait_for_mover() argument
1098 if ((nlp = ndmp_get_nlp(session)) == NULL) in ndmp_wait_for_mover()
1102 while (session->ns_mover.md_state == NDMP_MOVER_STATE_PAUSED) { in ndmp_wait_for_mover()
1103 if (session->ns_eof) { in ndmp_wait_for_mover()
1107 if (session->ns_data.dd_abort) { in ndmp_wait_for_mover()
1111 if (session->ns_data.dd_mover.addr_type == NDMP_ADDR_TCP) { in ndmp_wait_for_mover()
1113 if (session->ns_mover.md_sock == -1 && in ndmp_wait_for_mover()
1114 session->ns_mover.md_listen_sock == -1) { in ndmp_wait_for_mover()
1137 return ((session->ns_mover.md_state == NDMP_MOVER_STATE_ACTIVE) ? in ndmp_wait_for_mover()
1193 ndmp_execute_cdb(ndmpd_session_t *session, char *adapter_name, int sid, int lun, in ndmp_execute_cdb() argument
1211 if (ndmp_send_response(session->ns_connection, in ndmp_execute_cdb()
1245 ndmp_send_reply(session->ns_connection, (void *) &reply, in ndmp_execute_cdb()
1258 ndmp_send_reply(session->ns_connection, (void *) &reply, in ndmp_execute_cdb()
1286 if (ndmp_send_response(session->ns_connection, NDMP_NO_ERR, in ndmp_execute_cdb()
1308 ndmp_stop_local_reader(ndmpd_session_t *session, tlm_commands_t *cmds) in ndmp_stop_local_reader() argument
1312 if (session != NULL && session->ns_data.dd_sock == -1) { in ndmp_stop_local_reader()
1315 if ((nlp = ndmp_get_nlp(session)) != NULL) { in ndmp_stop_local_reader()
1337 ndmp_stop_remote_reader(ndmpd_session_t *session) in ndmp_stop_remote_reader() argument
1339 if (session != NULL) { in ndmp_stop_remote_reader()
1340 if (session->ns_data.dd_sock >= 0) { in ndmp_stop_remote_reader()
1345 "data.sock: %d", session->ns_data.dd_sock); in ndmp_stop_remote_reader()
1346 (void) close(session->ns_data.dd_sock); in ndmp_stop_remote_reader()
1347 session->ns_data.dd_sock = -1; in ndmp_stop_remote_reader()
1571 ndmp_stop_buffer_worker(ndmpd_session_t *session) in ndmp_stop_buffer_worker() argument
1576 session->ns_tape.td_pos = 0; in ndmp_stop_buffer_worker()
1577 if ((nlp = ndmp_get_nlp(session)) == NULL) { in ndmp_stop_buffer_worker()
1610 ndmp_stop_reader_thread(ndmpd_session_t *session) in ndmp_stop_reader_thread() argument
1615 if ((nlp = ndmp_get_nlp(session)) == NULL) { in ndmp_stop_reader_thread()
1646 ndmp_stop_writer_thread(ndmpd_session_t *session) in ndmp_stop_writer_thread() argument
1651 if ((nlp = ndmp_get_nlp(session)) == NULL) { in ndmp_stop_writer_thread()
1686 ndmp_free_reader_writer_ipc(ndmpd_session_t *session) in ndmp_free_reader_writer_ipc() argument
1691 if ((nlp = ndmp_get_nlp(session)) != NULL) { in ndmp_free_reader_writer_ipc()
1714 ndmp_waitfor_op(ndmpd_session_t *session) in ndmp_waitfor_op() argument
1716 if (session != NULL) { in ndmp_waitfor_op()
1717 while (session->ns_nref > 0) { in ndmp_waitfor_op()
1720 "waiting for session nref: %d", session->ns_nref); in ndmp_waitfor_op()
1738 ndmp_session_ref(ndmpd_session_t *session) in ndmp_session_ref() argument
1740 (void) mutex_lock(&session->ns_lock); in ndmp_session_ref()
1741 session->ns_nref++; in ndmp_session_ref()
1742 (void) mutex_unlock(&session->ns_lock); in ndmp_session_ref()
1758 ndmp_session_unref(ndmpd_session_t *session) in ndmp_session_unref() argument
1760 (void) mutex_lock(&session->ns_lock); in ndmp_session_unref()
1761 session->ns_nref--; in ndmp_session_unref()
1762 (void) mutex_unlock(&session->ns_lock); in ndmp_session_unref()
2605 ndmpd_session_t *session = (ndmpd_session_t *)ctx->nc_ddata; in ndmp_get_backup_type() local
2607 return (session->ns_butype); in ndmp_get_backup_type()