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