Lines Matching refs:session
53 static void unbuffered_read(ndmpd_session_t *session, char *buf, long wanted,
112 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_open_v2() local
122 if (session->ns_tape.td_fd != -1 || session->ns_scsi.sd_is_open != -1) { in ndmpd_tape_open_v2()
194 if ((session->ns_tape.td_fd = open(request->device.name, mode)) < 0) { in ndmpd_tape_open_v2()
217 session->ns_tape.td_mode = request->mode; in ndmpd_tape_open_v2()
218 session->ns_tape.td_sid = sid; in ndmpd_tape_open_v2()
219 session->ns_tape.td_lun = lun; in ndmpd_tape_open_v2()
220 (void) strlcpy(session->ns_tape.td_adapter_name, adptnm, SCSI_MAX_NAME); in ndmpd_tape_open_v2()
221 session->ns_tape.td_record_count = 0; in ndmpd_tape_open_v2()
223 NDMP_LOG(LOG_DEBUG, "Tape is opened fd: %d", session->ns_tape.td_fd); in ndmpd_tape_open_v2()
246 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_close_v2() local
248 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_close_v2()
278 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_get_state_v2() local
283 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_get_state_v2()
291 if (ioctl(session->ns_tape.td_fd, MTIOCGET, &mtstatus) < 0) { in ndmpd_tape_get_state_v2()
302 if (ioctl(session->ns_tape.td_fd, MTIOCGETDRIVETYPE, &dtpr) == -1) { in ndmpd_tape_get_state_v2()
321 (session->ns_mover.md_record_size / dtp.bsize); in ndmpd_tape_get_state_v2()
354 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_mtio_v2() local
363 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_mtio_v2()
389 if (session->ns_tape.td_mode == NDMP_TAPE_READ_MODE) in ndmpd_tape_mtio_v2()
399 if (is_tape_unit_ready(session->ns_tape.td_adapter_name, in ndmpd_tape_mtio_v2()
400 session->ns_tape.td_fd) == 0) in ndmpd_tape_mtio_v2()
415 rc = ioctl(session->ns_tape.td_fd, MTIOCTOP, &tapeop); in ndmpd_tape_mtio_v2()
447 if (ioctl(session->ns_tape.td_fd, MTIOCGET, in ndmpd_tape_mtio_v2()
496 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_read_v2() local
501 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_read_v2()
521 unbuffered_read(session, buf, request->count, &reply); in ndmpd_tape_read_v2()
545 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_execute_cdb_v2() local
549 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_execute_cdb_v2()
557 ndmp_execute_cdb(session, session->ns_tape.td_adapter_name, in ndmpd_tape_execute_cdb_v2()
558 session->ns_tape.td_sid, session->ns_tape.td_lun, in ndmpd_tape_execute_cdb_v2()
609 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_get_state_v3() local
614 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_get_state_v3()
622 if (ioctl(session->ns_tape.td_fd, MTIOCGET, &mtstatus) == -1) { in ndmpd_tape_get_state_v3()
634 if (ioctl(session->ns_tape.td_fd, MTIOCGETDRIVETYPE, &dtpr) == -1) { in ndmpd_tape_get_state_v3()
654 (session->ns_mover.md_record_size / dtp.bsize); in ndmpd_tape_get_state_v3()
684 tape_is_at_bot(ndmpd_session_t *session) in tape_is_at_bot() argument
688 if (ioctl(session->ns_tape.td_fd, MTIOCGET, &mtstatus) == 0 && in tape_is_at_bot()
704 tape_is_at_bof(ndmpd_session_t *session) in tape_is_at_bof() argument
708 if ((ioctl(session->ns_tape.td_fd, MTIOCGET, &mtstatus) == 0) && in tape_is_at_bof()
734 fm_dance(ndmpd_session_t *session) in fm_dance() argument
736 (void) ndmp_mtioctl(session->ns_tape.td_fd, MTFSF, 1); in fm_dance()
737 (void) ndmp_mtioctl(session->ns_tape.td_fd, MTBSF, 1); in fm_dance()
761 ndmp_tape_write_reply reply; ndmpd_session_t *session = in ndmpd_tape_write_v3() local
766 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_write_v3()
773 if (session->ns_tape.td_mode == NDMP_TAPE_READ_MODE) { in ndmpd_tape_write_v3()
791 if (session->ns_protocol_version == NDMPV4 && in ndmpd_tape_write_v3()
792 (session->ns_mover.md_state == NDMP_MOVER_STATE_LISTEN || in ndmpd_tape_write_v3()
793 session->ns_mover.md_state == NDMP_MOVER_STATE_ACTIVE)) { in ndmpd_tape_write_v3()
801 n = write(session->ns_tape.td_fd, request->data_out.data_out_val, in ndmpd_tape_write_v3()
849 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_read_v3() local
855 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_read_v3()
873 if (session->ns_protocol_version == NDMPV4 && in ndmpd_tape_read_v3()
874 (session->ns_mover.md_state == NDMP_MOVER_STATE_LISTEN || in ndmpd_tape_read_v3()
875 session->ns_mover.md_state == NDMP_MOVER_STATE_ACTIVE)) { in ndmpd_tape_read_v3()
890 n = read(session->ns_tape.td_fd, buf, request->count); in ndmpd_tape_read_v3()
903 else if (errno == EIO && tape_is_at_bof(session)) { in ndmpd_tape_read_v3()
911 else if (errno == EIO && tape_is_at_bot(session)) { in ndmpd_tape_read_v3()
919 if (tape_is_at_bof(session)) { in ndmpd_tape_read_v3()
924 fm_dance(session); in ndmpd_tape_read_v3()
929 session->ns_tape.td_pos += n; in ndmpd_tape_read_v3()
965 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_get_state_v4() local
970 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_get_state_v4()
982 if (ioctl(session->ns_tape.td_fd, MTIOCGET, &mtstatus) == -1) { in ndmpd_tape_get_state_v4()
995 if (ioctl(session->ns_tape.td_fd, MTIOCGETDRIVETYPE, &dtpr) == -1) { in ndmpd_tape_get_state_v4()
1016 (session->ns_mover.md_record_size / dtp.bsize); in ndmpd_tape_get_state_v4()
1050 ndmpd_session_t *session = ndmp_get_client_data(connection); in ndmpd_tape_close_v4() local
1052 if (session->ns_tape.td_fd == -1) { in ndmpd_tape_close_v4()
1064 if (session->ns_mover.md_state == NDMP_MOVER_STATE_LISTEN || in ndmpd_tape_close_v4()
1065 session->ns_mover.md_state == NDMP_MOVER_STATE_ACTIVE) { in ndmpd_tape_close_v4()
1118 unbuffered_read(ndmpd_session_t *session, char *buf, long wanted, in unbuffered_read() argument
1123 n = read(session->ns_tape.td_fd, buf, wanted); in unbuffered_read()
1140 (void) ndmp_mtioctl(session->ns_tape.td_fd, MTFSF, 1); in unbuffered_read()
1144 n = read(session->ns_tape.td_fd, buf, len); in unbuffered_read()
1149 (void) ndmp_mtioctl(session->ns_tape.td_fd, MTBSF, 1); in unbuffered_read()
1152 (void) ndmp_mtioctl(session->ns_tape.td_fd, MTFSF, 1); in unbuffered_read()
1154 session->ns_tape.td_pos += n; in unbuffered_read()
1204 ndmpd_session_t *session = ndmp_get_client_data(connection); in common_tape_open() local
1214 if (session->ns_tape.td_fd != -1 || session->ns_scsi.sd_is_open != -1) { in common_tape_open()
1259 session->ns_tape.td_fd = open(devname, mode); in common_tape_open()
1260 if (session->ns_protocol_version == NDMPV4 && in common_tape_open()
1261 session->ns_tape.td_fd < 0 && in common_tape_open()
1269 session->ns_tape.td_fd = open(devname, O_RDONLY); in common_tape_open()
1271 if (session->ns_tape.td_fd < 0) { in common_tape_open()
1296 adptnm, sid, lun, session->ns_tape.td_fd)) { in common_tape_open()
1314 session->ns_tape.td_mode = ndmpmode; in common_tape_open()
1315 session->ns_tape.td_sid = sid; in common_tape_open()
1316 session->ns_tape.td_lun = lun; in common_tape_open()
1317 (void) strlcpy(session->ns_tape.td_adapter_name, adptnm, SCSI_MAX_NAME); in common_tape_open()
1318 session->ns_tape.td_record_count = 0; in common_tape_open()
1320 NDMP_LOG(LOG_DEBUG, "Tape is opened fd: %d", session->ns_tape.td_fd); in common_tape_open()
1340 ndmpd_session_t *session = ndmp_get_client_data(connection); in common_tape_close() local
1343 (void) ndmp_open_list_del(session->ns_tape.td_adapter_name, in common_tape_close()
1344 session->ns_tape.td_sid, session->ns_tape.td_lun); in common_tape_close()
1345 (void) close(session->ns_tape.td_fd); in common_tape_close()
1346 session->ns_tape.td_fd = -1; in common_tape_close()
1347 session->ns_tape.td_sid = 0; in common_tape_close()
1348 session->ns_tape.td_lun = 0; in common_tape_close()
1349 (void) memset(session->ns_tape.td_adapter_name, 0, in common_tape_close()
1350 sizeof (session->ns_tape.td_adapter_name)); in common_tape_close()
1351 session->ns_tape.td_record_count = 0; in common_tape_close()