Lines Matching refs:STps
669 struct st_partstat *STps; in write_behind_check() local
693 STps = &(STp->ps[STp->partition]); in write_behind_check()
694 if (STps->drv_block >= 0) { in write_behind_check()
696 STps->drv_block++; in write_behind_check()
698 STps->drv_block += STbuffer->writing / STp->block_size; in write_behind_check()
714 STps->drv_block = -1; in write_behind_check()
771 struct st_partstat *STps; in st_flush_write_buffer() local
797 STps = &(STp->ps[STp->partition]); in st_flush_write_buffer()
809 if (STps->drv_block >= 0) in st_flush_write_buffer()
810 STps->drv_block += blks; in st_flush_write_buffer()
814 STps->drv_block = (-1); in st_flush_write_buffer()
818 if (STps->drv_block >= 0) in st_flush_write_buffer()
819 STps->drv_block += blks; in st_flush_write_buffer()
835 struct st_partstat *STps; in flush_buffer() local
846 STps = &(STp->ps[STp->partition]); in flush_buffer()
847 if (STps->rw == ST_WRITING) /* Writing */ in flush_buffer()
861 if (STps->eof == ST_FM_HIT) { in flush_buffer()
864 STps->eof = ST_NOEOF; in flush_buffer()
866 if (STps->drv_file >= 0) in flush_buffer()
867 STps->drv_file++; in flush_buffer()
868 STps->drv_block = 0; in flush_buffer()
873 } else if (STps->eof == ST_FM_HIT) { in flush_buffer()
874 if (STps->drv_file >= 0) in flush_buffer()
875 STps->drv_file++; in flush_buffer()
876 STps->drv_block = 0; in flush_buffer()
877 STps->eof = ST_NOEOF; in flush_buffer()
938 struct st_partstat *STps; in reset_state() local
942 STps = &(STp->ps[i]); in reset_state()
943 STps->rw = ST_IDLE; in reset_state()
944 STps->eof = ST_NOEOF; in reset_state()
945 STps->at_sm = 0; in reset_state()
946 STps->last_block_valid = 0; in reset_state()
947 STps->drv_block = -1; in reset_state()
948 STps->drv_file = -1; in reset_state()
1048 struct st_partstat *STps; in check_tape() local
1078 STps = &(STp->ps[i]); in check_tape()
1079 STps->rw = ST_IDLE; in check_tape()
1080 STps->eof = ST_NOEOF; in check_tape()
1081 STps->at_sm = 0; in check_tape()
1082 STps->last_block_valid = 0; in check_tape()
1083 STps->drv_block = 0; in check_tape()
1084 STps->drv_file = 0; in check_tape()
1253 struct st_partstat *STps; in st_open() local
1307 STps = &(STp->ps[i]); in st_open()
1308 STps->rw = ST_IDLE; in st_open()
1349 struct st_partstat *STps = &(STp->ps[STp->partition]); in st_flush() local
1354 if (STps->rw == ST_WRITING && !STp->pos_unknown) { in st_flush()
1374 if (STps->rw == ST_WRITING && !STp->pos_unknown) { in st_flush()
1404 if (STps->drv_file >= 0) in st_flush()
1405 STps->drv_file++; in st_flush()
1406 STps->drv_block = 0; in st_flush()
1409 STps->eof = ST_FM; in st_flush()
1422 STps = &(STp->ps[STp->partition]); in st_flush()
1423 if (!STm->sysv || STps->rw != ST_READING) { in st_flush()
1426 else if (STps->eof == ST_FM_HIT) { in st_flush()
1429 if (STps->drv_file >= 0) in st_flush()
1430 STps->drv_file++; in st_flush()
1431 STps->drv_block = 0; in st_flush()
1432 STps->eof = ST_FM; in st_flush()
1434 STps->eof = ST_NOEOF; in st_flush()
1436 } else if ((STps->eof == ST_NOEOF && in st_flush()
1438 STps->eof == ST_FM_HIT) { in st_flush()
1439 if (STps->drv_file >= 0) in st_flush()
1440 STps->drv_file++; in st_flush()
1441 STps->drv_block = 0; in st_flush()
1442 STps->eof = ST_FM; in st_flush()
1633 struct st_partstat *STps; in st_write() local
1652 STps = &(STp->ps[STp->partition]); in st_write()
1660 if (STps->rw == ST_READING) { in st_write()
1664 STps->rw = ST_WRITING; in st_write()
1665 } else if (STps->rw != ST_WRITING && in st_write()
1666 STps->drv_file == 0 && STps->drv_block == 0) { in st_write()
1686 STps->eof = ST_EOM_OK; in st_write()
1688 STps->eof = ST_EOM_ERROR; in st_write()
1691 if (STps->eof == ST_EOM_OK) { in st_write()
1692 STps->eof = ST_EOD_1; /* allow next write */ in st_write()
1696 else if (STps->eof == ST_EOM_ERROR) { in st_write()
1721 STps->rw = ST_WRITING; in st_write()
1749 STm->do_async_writes && STps->eof < ST_EOM_OK; in st_write()
1752 !(STp->try_dio_now && try_wdio) && STps->eof < ST_EOM_OK && in st_write()
1813 STps->eof = ST_EOM_OK; in st_write()
1831 if (STps->drv_block >= 0) { in st_write()
1832 STps->drv_block += (transfer - undone) / in st_write()
1835 STps->eof = ST_EOM_OK; in st_write()
1847 STps->eof = ST_EOM_ERROR; in st_write()
1848 STps->drv_block = (-1); /* Too cautious? */ in st_write()
1856 STps->drv_block = (-1); /* Too cautious? */ in st_write()
1862 if (STps->drv_block >= 0) { in st_write()
1864 STps->drv_block += (do_count > 0); in st_write()
1866 STps->drv_block += blks; in st_write()
1879 if (STps->eof == ST_EOD_1) in st_write()
1880 STps->eof = ST_EOM_OK; in st_write()
1881 else if (STps->eof != ST_EOM_OK) in st_write()
1882 STps->eof = ST_NOEOF; in st_write()
1907 struct st_partstat *STps; in read_tape() local
1915 STps = &(STp->ps[STp->partition]); in read_tape()
1916 if (STps->eof == ST_FM_HIT) in read_tape()
1954 STps->at_sm = 0; in read_tape()
1994 if (STps->drv_block >= 0) in read_tape()
1995 STps->drv_block += 1; in read_tape()
2007 if (STps->drv_block >= 0) in read_tape()
2008 STps->drv_block += blks - transfer + 1; in read_tape()
2020 if (STps->drv_block >= 0) in read_tape()
2021 STps->drv_block += 1; in read_tape()
2026 if (STps->eof != ST_FM_HIT) in read_tape()
2027 STps->eof = ST_FM_HIT; in read_tape()
2029 STps->eof = ST_EOD_2; in read_tape()
2039 if (STps->eof == ST_FM) in read_tape()
2040 STps->eof = ST_EOD_1; in read_tape()
2042 STps->eof = ST_EOM_OK; in read_tape()
2057 STps->drv_block = (-1); in read_tape()
2058 if (STps->eof == ST_FM && in read_tape()
2063 STps->eof = ST_EOD_2; /* First BLANK_CHECK after FM */ in read_tape()
2084 if (STps->drv_block >= 0) { in read_tape()
2086 STps->drv_block++; in read_tape()
2088 STps->drv_block += STbp->buffer_bytes / STp->block_size; in read_tape()
2105 struct st_partstat *STps; in st_read() local
2124 STps = &(STp->ps[STp->partition]); in st_read()
2125 if (STps->rw == ST_WRITING) { in st_read()
2129 STps->rw = ST_READING; in st_read()
2132 if (debugging && STps->eof != ST_NOEOF) in st_read()
2135 STps->eof, STbp->buffer_bytes); in st_read()
2144 STps->eof >= ST_EOD_1) { in st_read()
2145 if (STps->eof < ST_EOD) { in st_read()
2146 STps->eof += 1; in st_read()
2166 STps->rw = ST_READING; in st_read()
2184 if (debugging && STps->eof != ST_NOEOF) in st_read()
2187 STps->eof, STbp->buffer_bytes, in st_read()
2211 if (STps->eof == ST_FM_HIT) { in st_read()
2212 STps->eof = ST_FM; in st_read()
2213 STps->drv_block = 0; in st_read()
2214 if (STps->drv_file >= 0) in st_read()
2215 STps->drv_file++; in st_read()
2216 } else if (STps->eof == ST_EOD_1) { in st_read()
2217 STps->eof = ST_EOD_2; in st_read()
2218 STps->drv_block = 0; in st_read()
2219 if (STps->drv_file >= 0) in st_read()
2220 STps->drv_file++; in st_read()
2221 } else if (STps->eof == ST_EOD_2) in st_read()
2222 STps->eof = ST_EOD; in st_read()
2223 } else if (STps->eof == ST_FM) in st_read()
2224 STps->eof = ST_NOEOF; in st_read()
2606 struct st_partstat *STps; in do_load_unload() local
2666 STps = &(STp->ps[STp->partition]); in do_load_unload()
2667 STps->drv_file = STps->drv_block = (-1); in do_load_unload()
2705 struct st_partstat *STps; in st_int_ioctl() local
2717 STps = &(STp->ps[STp->partition]); in st_int_ioctl()
2718 fileno = STps->drv_file; in st_int_ioctl()
2719 blkno = STps->drv_block; in st_int_ioctl()
2720 at_sm = STps->at_sm; in st_int_ioctl()
2864 fileno = STps->drv_file; in st_int_ioctl()
2865 if (STps->eof >= ST_EOD_1) in st_int_ioctl()
2970 STps->drv_block = blkno; in st_int_ioctl()
2971 STps->drv_file = fileno; in st_int_ioctl()
2972 STps->at_sm = at_sm; in st_int_ioctl()
2994 STps->eof = ST_EOD; in st_int_ioctl()
2996 STps->eof = ST_FM; in st_int_ioctl()
2998 STps->eof = ST_NOEOF; in st_int_ioctl()
3001 STps->rw = ST_IDLE; /* prevent automatic WEOF at close */ in st_int_ioctl()
3009 STps->eof = ST_EOM_OK; in st_int_ioctl()
3010 STps->drv_block = 0; in st_int_ioctl()
3024 STps->eof = ST_NOEOF; in st_int_ioctl()
3029 STps->eof = ST_NOEOF; in st_int_ioctl()
3031 STps->drv_file = fileno; in st_int_ioctl()
3034 STps->drv_file = fileno - undone; in st_int_ioctl()
3036 STps->drv_file = fileno; in st_int_ioctl()
3037 STps->drv_block = -1; in st_int_ioctl()
3038 STps->eof = ST_NOEOF; in st_int_ioctl()
3042 if (STps->drv_file >= 0) in st_int_ioctl()
3043 STps->drv_file = fileno + undone; in st_int_ioctl()
3044 STps->drv_block = 0; in st_int_ioctl()
3045 STps->eof = ST_NOEOF; in st_int_ioctl()
3048 if (STps->drv_file >= 0) in st_int_ioctl()
3049 STps->drv_file++; in st_int_ioctl()
3050 STps->drv_block = 0; in st_int_ioctl()
3051 STps->eof = ST_FM; in st_int_ioctl()
3054 STps->drv_block = blkno - undone; in st_int_ioctl()
3056 STps->drv_block = (-1); in st_int_ioctl()
3057 STps->eof = ST_NOEOF; in st_int_ioctl()
3061 STps->drv_file--; in st_int_ioctl()
3062 STps->drv_block = (-1); in st_int_ioctl()
3066 if (STps->drv_block >= 0) in st_int_ioctl()
3067 STps->drv_block = blkno + undone; in st_int_ioctl()
3069 STps->eof = ST_NOEOF; in st_int_ioctl()
3071 STps->drv_file = (-1); in st_int_ioctl()
3072 STps->drv_block = (-1); in st_int_ioctl()
3073 STps->eof = ST_EOD; in st_int_ioctl()
3088 STps->eof = ST_NOEOF; in st_int_ioctl()
3091 STps->eof = ST_EOD; in st_int_ioctl()
3167 struct st_partstat *STps; in set_location() local
3177 STps = &(STp->ps[STp->partition]); in set_location()
3190 STps->last_block_valid = 0; in set_location()
3192 STps->last_block_valid = 1; in set_location()
3193 STps->last_block_visited = blk; in set_location()
3233 STps->drv_block = STps->drv_file = (-1); in set_location()
3234 STps->eof = ST_NOEOF; in set_location()
3244 STps = &(STp->ps[partition]); in set_location()
3245 if (!STps->last_block_valid || in set_location()
3246 STps->last_block_visited != block) { in set_location()
3247 STps->at_sm = 0; in set_location()
3248 STps->rw = ST_IDLE; in set_location()
3251 STps->at_sm = 0; in set_location()
3253 STps->drv_block = STps->drv_file = 0; in set_location()
3282 struct st_partstat *STps; in switch_partition() local
3286 STps = &(STp->ps[STp->new_partition]); in switch_partition()
3287 if (!STps->last_block_valid) in switch_partition()
3288 STps->last_block_visited = 0; in switch_partition()
3289 return set_location(STp, STps->last_block_visited, STp->new_partition, 1); in switch_partition()
3510 struct st_partstat *STps; in st_ioctl_common() local
3523 STps = &(STp->ps[STp->partition]); in st_ioctl_common()
3568 if (STps->eof == ST_FM_HIT) { in st_ioctl_common()
3572 if (STps->drv_file >= 0) in st_ioctl_common()
3573 STps->drv_file += 1; in st_ioctl_common()
3576 if (STps->drv_file >= 0) in st_ioctl_common()
3577 STps->drv_file += 1; in st_ioctl_common()
3599 if (STps->rw == ST_WRITING && in st_ioctl_common()
3610 STps->rw = ST_IDLE; in st_ioctl_common()
3636 STps->rw = ST_IDLE; /* Prevent automatic WEOF and fsf */ in st_ioctl_common()
3689 STps->drv_block = STps->drv_file = 0; in st_ioctl_common()
3756 mt_status.mt_blkno = STps->drv_block; in st_ioctl_common()
3757 mt_status.mt_fileno = STps->drv_file; in st_ioctl_common()
3759 if (STps->rw == ST_WRITING) in st_ioctl_common()
3762 else if (STps->rw == ST_READING) in st_ioctl_common()
3779 if (STps->eof == ST_EOM_OK || STps->eof == ST_EOM_ERROR) in st_ioctl_common()
3781 else if (STps->eof >= ST_EOM_OK) in st_ioctl_common()
3793 if (STps->at_sm) in st_ioctl_common()
4281 struct st_partstat *STps; in st_probe() local
4379 STps = &(tpnt->ps[i]); in st_probe()
4380 STps->rw = ST_IDLE; in st_probe()
4381 STps->eof = ST_NOEOF; in st_probe()
4382 STps->at_sm = 0; in st_probe()
4383 STps->last_block_valid = 0; in st_probe()
4384 STps->drv_block = (-1); in st_probe()
4385 STps->drv_file = (-1); in st_probe()