Lines Matching refs:STps
664 struct st_partstat *STps; in write_behind_check() local
688 STps = &(STp->ps[STp->partition]); in write_behind_check()
689 if (STps->drv_block >= 0) { in write_behind_check()
691 STps->drv_block++; in write_behind_check()
693 STps->drv_block += STbuffer->writing / STp->block_size; in write_behind_check()
709 STps->drv_block = -1; in write_behind_check()
766 struct st_partstat *STps; in st_flush_write_buffer() local
792 STps = &(STp->ps[STp->partition]); in st_flush_write_buffer()
804 if (STps->drv_block >= 0) in st_flush_write_buffer()
805 STps->drv_block += blks; in st_flush_write_buffer()
809 STps->drv_block = (-1); in st_flush_write_buffer()
813 if (STps->drv_block >= 0) in st_flush_write_buffer()
814 STps->drv_block += blks; in st_flush_write_buffer()
831 struct st_partstat *STps; in flush_buffer() local
844 STps = &(STp->ps[STp->partition]); in flush_buffer()
845 if (STps->rw == ST_WRITING) /* Writing */ in flush_buffer()
859 if (STps->eof == ST_FM_HIT) { in flush_buffer()
862 STps->eof = ST_NOEOF; in flush_buffer()
864 if (STps->drv_file >= 0) in flush_buffer()
865 STps->drv_file++; in flush_buffer()
866 STps->drv_block = 0; in flush_buffer()
871 } else if (STps->eof == ST_FM_HIT) { in flush_buffer()
872 if (STps->drv_file >= 0) in flush_buffer()
873 STps->drv_file++; in flush_buffer()
874 STps->drv_block = 0; in flush_buffer()
875 STps->eof = ST_NOEOF; in flush_buffer()
936 struct st_partstat *STps; in reset_state() local
940 STps = &(STp->ps[i]); in reset_state()
941 STps->rw = ST_IDLE; in reset_state()
942 STps->eof = ST_NOEOF; in reset_state()
943 STps->at_sm = 0; in reset_state()
944 STps->last_block_valid = 0; in reset_state()
945 STps->drv_block = -1; in reset_state()
946 STps->drv_file = -1; in reset_state()
1046 struct st_partstat *STps; in check_tape() local
1076 STps = &(STp->ps[i]); in check_tape()
1077 STps->rw = ST_IDLE; in check_tape()
1078 STps->eof = ST_NOEOF; in check_tape()
1079 STps->at_sm = 0; in check_tape()
1080 STps->last_block_valid = 0; in check_tape()
1081 STps->drv_block = 0; in check_tape()
1082 STps->drv_file = 0; in check_tape()
1251 struct st_partstat *STps; in st_open() local
1305 STps = &(STp->ps[i]); in st_open()
1306 STps->rw = ST_IDLE; in st_open()
1347 struct st_partstat *STps = &(STp->ps[STp->partition]); in st_flush() local
1352 if (STps->rw == ST_WRITING && !STp->pos_unknown) { in st_flush()
1372 if (STps->rw == ST_WRITING && !STp->pos_unknown) { in st_flush()
1402 if (STps->drv_file >= 0) in st_flush()
1403 STps->drv_file++; in st_flush()
1404 STps->drv_block = 0; in st_flush()
1407 STps->eof = ST_FM; in st_flush()
1420 STps = &(STp->ps[STp->partition]); in st_flush()
1421 if (!STm->sysv || STps->rw != ST_READING) { in st_flush()
1424 else if (STps->eof == ST_FM_HIT) { in st_flush()
1427 if (STps->drv_file >= 0) in st_flush()
1428 STps->drv_file++; in st_flush()
1429 STps->drv_block = 0; in st_flush()
1430 STps->eof = ST_FM; in st_flush()
1432 STps->eof = ST_NOEOF; in st_flush()
1434 } else if ((STps->eof == ST_NOEOF && in st_flush()
1436 STps->eof == ST_FM_HIT) { in st_flush()
1437 if (STps->drv_file >= 0) in st_flush()
1438 STps->drv_file++; in st_flush()
1439 STps->drv_block = 0; in st_flush()
1440 STps->eof = ST_FM; in st_flush()
1632 struct st_partstat *STps; in st_write() local
1651 STps = &(STp->ps[STp->partition]); in st_write()
1659 if (STps->rw == ST_READING) { in st_write()
1663 STps->rw = ST_WRITING; in st_write()
1664 } else if (STps->rw != ST_WRITING && in st_write()
1665 STps->drv_file == 0 && STps->drv_block == 0) { in st_write()
1685 STps->eof = ST_EOM_OK; in st_write()
1687 STps->eof = ST_EOM_ERROR; in st_write()
1690 if (STps->eof == ST_EOM_OK) { in st_write()
1691 STps->eof = ST_EOD_1; /* allow next write */ in st_write()
1695 else if (STps->eof == ST_EOM_ERROR) { in st_write()
1720 STps->rw = ST_WRITING; in st_write()
1748 STm->do_async_writes && STps->eof < ST_EOM_OK; in st_write()
1751 !(STp->try_dio_now && try_wdio) && STps->eof < ST_EOM_OK && in st_write()
1812 STps->eof = ST_EOM_OK; in st_write()
1830 if (STps->drv_block >= 0) { in st_write()
1831 STps->drv_block += (transfer - undone) / in st_write()
1834 STps->eof = ST_EOM_OK; in st_write()
1846 STps->eof = ST_EOM_ERROR; in st_write()
1847 STps->drv_block = (-1); /* Too cautious? */ in st_write()
1855 STps->drv_block = (-1); /* Too cautious? */ in st_write()
1861 if (STps->drv_block >= 0) { in st_write()
1863 STps->drv_block += (do_count > 0); in st_write()
1865 STps->drv_block += blks; in st_write()
1878 if (STps->eof == ST_EOD_1) in st_write()
1879 STps->eof = ST_EOM_OK; in st_write()
1880 else if (STps->eof != ST_EOM_OK) in st_write()
1881 STps->eof = ST_NOEOF; in st_write()
1906 struct st_partstat *STps; in read_tape() local
1914 STps = &(STp->ps[STp->partition]); in read_tape()
1915 if (STps->eof == ST_FM_HIT) in read_tape()
1953 STps->at_sm = 0; in read_tape()
1990 if (STps->drv_block >= 0) in read_tape()
1991 STps->drv_block += 1; in read_tape()
2003 if (STps->drv_block >= 0) in read_tape()
2004 STps->drv_block += blks - transfer + 1; in read_tape()
2016 if (STps->drv_block >= 0) in read_tape()
2017 STps->drv_block += 1; in read_tape()
2022 if (STps->eof != ST_FM_HIT) in read_tape()
2023 STps->eof = ST_FM_HIT; in read_tape()
2025 STps->eof = ST_EOD_2; in read_tape()
2035 if (STps->eof == ST_FM) in read_tape()
2036 STps->eof = ST_EOD_1; in read_tape()
2038 STps->eof = ST_EOM_OK; in read_tape()
2053 STps->drv_block = (-1); in read_tape()
2054 if (STps->eof == ST_FM && in read_tape()
2059 STps->eof = ST_EOD_2; /* First BLANK_CHECK after FM */ in read_tape()
2080 if (STps->drv_block >= 0) { in read_tape()
2082 STps->drv_block++; in read_tape()
2084 STps->drv_block += STbp->buffer_bytes / STp->block_size; in read_tape()
2101 struct st_partstat *STps; in st_read() local
2120 STps = &(STp->ps[STp->partition]); in st_read()
2121 if (STps->rw == ST_WRITING) { in st_read()
2125 STps->rw = ST_READING; in st_read()
2128 if (debugging && STps->eof != ST_NOEOF) in st_read()
2131 STps->eof, STbp->buffer_bytes); in st_read()
2140 STps->eof >= ST_EOD_1) { in st_read()
2141 if (STps->eof < ST_EOD) { in st_read()
2142 STps->eof += 1; in st_read()
2162 STps->rw = ST_READING; in st_read()
2180 if (debugging && STps->eof != ST_NOEOF) in st_read()
2183 STps->eof, STbp->buffer_bytes, in st_read()
2207 if (STps->eof == ST_FM_HIT) { in st_read()
2208 STps->eof = ST_FM; in st_read()
2209 STps->drv_block = 0; in st_read()
2210 if (STps->drv_file >= 0) in st_read()
2211 STps->drv_file++; in st_read()
2212 } else if (STps->eof == ST_EOD_1) { in st_read()
2213 STps->eof = ST_EOD_2; in st_read()
2214 STps->drv_block = 0; in st_read()
2215 if (STps->drv_file >= 0) in st_read()
2216 STps->drv_file++; in st_read()
2217 } else if (STps->eof == ST_EOD_2) in st_read()
2218 STps->eof = ST_EOD; in st_read()
2219 } else if (STps->eof == ST_FM) in st_read()
2220 STps->eof = ST_NOEOF; in st_read()
2602 struct st_partstat *STps; in do_load_unload() local
2662 STps = &(STp->ps[STp->partition]); in do_load_unload()
2663 STps->drv_file = STps->drv_block = (-1); in do_load_unload()
2702 struct st_partstat *STps; in st_int_ioctl() local
2714 STps = &(STp->ps[STp->partition]); in st_int_ioctl()
2715 fileno = STps->drv_file; in st_int_ioctl()
2716 blkno = STps->drv_block; in st_int_ioctl()
2717 at_sm = STps->at_sm; in st_int_ioctl()
2859 fileno = STps->drv_file; in st_int_ioctl()
2860 if (STps->eof >= ST_EOD_1) in st_int_ioctl()
2965 STps->drv_block = blkno; in st_int_ioctl()
2966 STps->drv_file = fileno; in st_int_ioctl()
2967 STps->at_sm = at_sm; in st_int_ioctl()
2989 STps->eof = ST_EOD; in st_int_ioctl()
2991 STps->eof = ST_FM; in st_int_ioctl()
2993 STps->eof = ST_NOEOF; in st_int_ioctl()
2996 STps->rw = ST_IDLE; /* prevent automatic WEOF at close */ in st_int_ioctl()
3004 STps->eof = ST_EOM_OK; in st_int_ioctl()
3005 STps->drv_block = 0; in st_int_ioctl()
3019 STps->eof = ST_NOEOF; in st_int_ioctl()
3024 STps->eof = ST_NOEOF; in st_int_ioctl()
3026 STps->drv_file = fileno; in st_int_ioctl()
3029 STps->drv_file = fileno - undone; in st_int_ioctl()
3031 STps->drv_file = fileno; in st_int_ioctl()
3032 STps->drv_block = -1; in st_int_ioctl()
3033 STps->eof = ST_NOEOF; in st_int_ioctl()
3037 if (STps->drv_file >= 0) in st_int_ioctl()
3038 STps->drv_file = fileno + undone; in st_int_ioctl()
3039 STps->drv_block = 0; in st_int_ioctl()
3040 STps->eof = ST_NOEOF; in st_int_ioctl()
3043 if (STps->drv_file >= 0) in st_int_ioctl()
3044 STps->drv_file++; in st_int_ioctl()
3045 STps->drv_block = 0; in st_int_ioctl()
3046 STps->eof = ST_FM; in st_int_ioctl()
3049 STps->drv_block = blkno - undone; in st_int_ioctl()
3051 STps->drv_block = (-1); in st_int_ioctl()
3052 STps->eof = ST_NOEOF; in st_int_ioctl()
3056 STps->drv_file--; in st_int_ioctl()
3057 STps->drv_block = (-1); in st_int_ioctl()
3061 if (STps->drv_block >= 0) in st_int_ioctl()
3062 STps->drv_block = blkno + undone; in st_int_ioctl()
3064 STps->eof = ST_NOEOF; in st_int_ioctl()
3066 STps->drv_file = (-1); in st_int_ioctl()
3067 STps->drv_block = (-1); in st_int_ioctl()
3068 STps->eof = ST_EOD; in st_int_ioctl()
3083 STps->eof = ST_NOEOF; in st_int_ioctl()
3086 STps->eof = ST_EOD; in st_int_ioctl()
3162 struct st_partstat *STps; in set_location() local
3172 STps = &(STp->ps[STp->partition]); in set_location()
3185 STps->last_block_valid = 0; in set_location()
3187 STps->last_block_valid = 1; in set_location()
3188 STps->last_block_visited = blk; in set_location()
3228 STps->drv_block = STps->drv_file = (-1); in set_location()
3229 STps->eof = ST_NOEOF; in set_location()
3239 STps = &(STp->ps[partition]); in set_location()
3240 if (!STps->last_block_valid || in set_location()
3241 STps->last_block_visited != block) { in set_location()
3242 STps->at_sm = 0; in set_location()
3243 STps->rw = ST_IDLE; in set_location()
3246 STps->at_sm = 0; in set_location()
3248 STps->drv_block = STps->drv_file = 0; in set_location()
3277 struct st_partstat *STps; in switch_partition() local
3281 STps = &(STp->ps[STp->new_partition]); in switch_partition()
3282 if (!STps->last_block_valid) in switch_partition()
3283 STps->last_block_visited = 0; in switch_partition()
3284 return set_location(STp, STps->last_block_visited, STp->new_partition, 1); in switch_partition()
3410 struct st_partstat *STps; in st_ioctl() local
3424 STps = &(STp->ps[STp->partition]); in st_ioctl()
3469 if (STps->eof == ST_FM_HIT) { in st_ioctl()
3473 if (STps->drv_file >= 0) in st_ioctl()
3474 STps->drv_file += 1; in st_ioctl()
3477 if (STps->drv_file >= 0) in st_ioctl()
3478 STps->drv_file += 1; in st_ioctl()
3500 if (STps->rw == ST_WRITING && in st_ioctl()
3511 STps->rw = ST_IDLE; in st_ioctl()
3537 STps->rw = ST_IDLE; /* Prevent automatic WEOF and fsf */ in st_ioctl()
3585 STps->drv_block = STps->drv_file = 0; in st_ioctl()
3652 mt_status.mt_blkno = STps->drv_block; in st_ioctl()
3653 mt_status.mt_fileno = STps->drv_file; in st_ioctl()
3655 if (STps->rw == ST_WRITING) in st_ioctl()
3658 else if (STps->rw == ST_READING) in st_ioctl()
3675 if (STps->eof == ST_EOM_OK || STps->eof == ST_EOM_ERROR) in st_ioctl()
3677 else if (STps->eof >= ST_EOM_OK) in st_ioctl()
3689 if (STps->at_sm) in st_ioctl()
4156 struct st_partstat *STps; in st_probe() local
4253 STps = &(tpnt->ps[i]); in st_probe()
4254 STps->rw = ST_IDLE; in st_probe()
4255 STps->eof = ST_NOEOF; in st_probe()
4256 STps->at_sm = 0; in st_probe()
4257 STps->last_block_valid = 0; in st_probe()
4258 STps->drv_block = (-1); in st_probe()
4259 STps->drv_file = (-1); in st_probe()