chris@uunet.uu.net (Chris Gabe) (03/23/90)
I need to send a drive-specific command to a half inch nine-track tape drive. This drive (M4 or Kennedy) interfaces to the SCSI bus on a sun machine (sun4). The sun standard tape drive opcodes do not support the particular operation I wish to perform (erase fixed length). The reason I wish to do this is to update a "directory" file at the beginning of the tape after appending files to the end of the tape. Erasing several inches of tape the first time, then only a couple of inches on subsequent updates will allow for changes in temperature, etc, without the second file on the tape getting corrupted. This option is available, say, on the Convergent CTS series machines, but not on the sun. Anyway, the M4 drive (like almost any tape drive) WILL erase fixed lengths if given the right SCSI t(command. A look at the SCSI high-level driver documentation has me wondering if there isn't an easier way! Apparently the SCSI driver does not support streams, and I'm not sure this would help. If I do have to write a driver, do I have to get into all this physio() stuff, just to transfer one request? Another option would be to get sun to add this simple functionality to their driver (clearly, the correct solution). Is this a wild dream on my part, or is there really a Sunta Claus? I'm also open to any suggestions from anyone who has tackled this problem before - there must be someone else out there who has had to deal with this problem. Writing the directory at the end of the tape is not an acceptable solution, however.