Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!sri-spam!mordor!lll-tis!ptsfa!ihnp4!upba!qetzal!rcw From: rcw@qetzal.UUCP (sysop) Newsgroups: comp.unix.wizards Subject: read() applied to mag tapes Message-ID: <153@qetzal.UUCP> Date: Wed, 1-Jul-87 01:37:28 EDT Article-I.D.: qetzal.153 Posted: Wed Jul 1 01:37:28 1987 Date-Received: Sat, 4-Jul-87 07:43:29 EDT Organization: Graphics Information, Inc., Denver, CO. Lines: 25 Keywords: what is your experience Hello Gurus, I have been trying to write some routines to read from mag tape using the read() system call, and have discovered an interesting thing. I guess it makes sense, but I am not sure how to get around it. If I have a tape where logical record size = 80 bytes, and physical record size = 8000 bytes, and I do two discrete read() calls, from /dev/rmt0, I get the first 80 bytes from each PHYSICAL record, not 160 bytes in succession. (Wicat 160 w/Uniplus V.2 + Cipher 1600bpi drive) I can understand how this might be a characteristic of the tape drive hardware. It looked like setvbuf might provide a way around this problem, but ours doesn't seem to work. I'd be interested in hearing how others have solved this problem in general terms. THe manual makes no mention of this sort of behavior in the description for read(). Please send mail, and if this turns out to be a general problem, I'll post a summary. If this turns out to be a site specific problem, I'll flame the Unix vendor. Gracias. -- Robert C. White, Jr. Graphics Information, Inc. **************** UUCP: ihnp4!upba!qetzal!rcw isis!qetzal!rcw * OIL/GAS/LAND * USPS: 3067 Robin Way, Denver, CO 80222 * CARTOGRAPHY * ATT : +1 303 759-3666 ****************