Print this page
12315 errors in section 7i of the manual

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man7i/mtio.7i.man.txt
          +++ new/usr/src/man/man7i/mtio.7i.man.txt
↓ open down ↓ 90 lines elided ↑ open up ↑
  91   91       operations to continue and to clear the error.
  92   92  
  93   93       Disabling persistent error handling returns the error behavior to normal
  94   94       SVR4 error handling, and will not occur until all outstanding operations
  95   95       are completed.  Applications should wait for all outstanding operations
  96   96       to complete before disabling persistent error handling.  Closing the
  97   97       device will also disable persistent error handling and clear any errors
  98   98       or exceptions.
  99   99  
 100  100       The Read Operation and Write Operation subsections contain more pertinent
 101      -     information reguarding persistent error handling.
      101 +     information regarding persistent error handling.
 102  102  
 103  103     Read Operation
 104  104       The read(2) function reads the next record on the tape.  The record size
 105  105       is passed back as the number of bytes read, provided it is not greater
 106  106       than the number requested.  When a tape mark or end of data is read, a
 107  107       zero byte count is returned; all successive reads after the zero read
 108  108       will return an error and errno will be set to EIO.  To move to the next
 109  109       file, an MTFSF ioctl can be issued before or after the read causing the
 110  110       error.  This error handling behavior is different from the older BSD
 111  111       behavior, where another read will fetch the first record of the next tape
 112  112       file.  If the BSD behavior is required, device names containing the
 113  113       letter `b' (for BSD behavior) in the final component should be used.  If
 114  114       persistent error handling was enabled with either the BSD or SVR4 tape
 115  115       device behavior, all operations after this read error will return EIO
 116      -     errors until the MTIOCLRERR ioctl is issued.  An MTFSF ioctl can then he
      116 +     errors until the MTIOCLRERR ioctl is issued.  An MTFSF ioctl can then be
 117  117       issued.
 118  118  
 119  119       Two successful successive reads that both return zero byte counts
 120  120       indicate EOM on the tape.  No further reading should be performed past
 121  121       the EOM.
 122  122  
 123  123       Fixed-length I/O tape devices require the number of bytes read to be a
 124  124       multiple of the physical record size.  For example, 1/4" cartridge tape
 125  125       devices only read multiples of 512 bytes.  If the blocking factor is
 126  126       greater than 64,512 bytes (minphys limit), fixed-length I/O tape devices
↓ open down ↓ 528 lines elided ↑ open up ↑
 655  655  
 656  656         int on = 1;
 657  657         int off = 0;
 658  658         ioctl(fd, MTIOREADIGNOREILI, &on);
 659  659         ioctl(fd, MTIOREADIGNOREILI, &off);
 660  660  
 661  661       The MTIOCREADIGNOREEOFS ioctl enables or disables support for reading
 662  662       past double EOF marks which otherwise indicate End-Of-recorded-media
 663  663       (EOM) in the case of 1/2" reel tape drives.  As an argument, it takes a
 664  664       pointer to an integer.  If 0 (zero) is the specified integer, then double
 665      -     EOF marks indicate End-Of-recodred-media (EOD).  If 1 is the specified
      665 +     EOF marks indicate End-Of-recorded-media (EOD).  If 1 is the specified
 666  666       integer, the double EOF marks no longer indicate EOM, thus allowing
 667  667       applications to read past two EOF marks.  In this case it is the
 668  668       responsibility of the application to detect end-of-recorded-media (EOM).
 669  669       The specified tape behavior will be in effect until the device is closed.
 670  670  
 671  671       For example:
 672  672  
 673  673         int on = 1;
 674  674         int off = 0;
 675  675         ioctl(fd, MTIOREADIGNOREEOFS, &on);
↓ open down ↓ 49 lines elided ↑ open up ↑
 725  725         mtreq.size = sizeof(struct mtdrivetype);
 726  726         mtreq.mtdtp = &mtdt;
 727  727         ioctl(fd, MTIOCGETDRIVETYPE, &mtreq);
 728  728  
 729  729  SEE ALSO
 730  730       mt(1), tar(1), dd(1M), open(2), read(2), write(2), aioread(3C),
 731  731       aiowrite(3C), ar.h(3HEAD), st(7D)
 732  732  
 733  733       1/4 Inch Tape Drive Tutorial
 734  734  
 735      -illumos                         August 31, 2018                        illumos
      735 +illumos                        February 17, 2020                       illumos
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX