home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!sgigate!odin!fido!zola!zuni!anchor!olson
- From: olson@anchor.esd.sgi.com (Dave Olson)
- Newsgroups: comp.sys.sgi
- Subject: Re: Problem reading a tar file on exabyte
- Message-ID: <ohrdrt0@zuni.esd.sgi.com>
- Date: 14 Aug 92 02:05:42 GMT
- References: <1992Aug13.181143.3629@morgan.ucs.mun.ca>
- Sender: news@zuni.esd.sgi.com (Net News)
- Organization: Silicon Graphics, Inc. Mountain View, CA
- Lines: 75
-
- In <1992Aug13.181143.3629@morgan.ucs.mun.ca> agouldng@morgan.ucs.mun.ca (Allan Goulding) writes:
- | I am having a problem reading a tar file on an exabyte tape.
- | Specifically, the error is:
- | tar: tape read error: Not enough space
-
- Tar encountered a FM without finding its internal end-of-archive
- record. Most likely the tape was created with one blocking
- factor, and read with another that wasn't an even divisor of
- the original.
-
- | There seems to be no mention of it in the tar man page. The message is
-
- See 'man tps'. tar can be used with dozens of devices, files, etc.,
- and couldn't possibly document them all.
-
- | not intuitively obvious to me. Does tar look to see that I only have
- | 150MB free on disk and refuse to even extract one file? Why would a read
- | operation complain about lack of space (disk, buffers)?
-
- It isn't DISK free space. This seemed the best overall errno
- for the condition.
-
- | The exabyte is an 8200 (252T) on an SGI 4D/360S running Irix 4.0.1.
- | We have received other tapes from the same source before and have never
- | had a problem reading them. (but we were also running 3.3.3 at the time)
- |
- | tar tvf seems to have no problem reading the tape. ie:
- | % mt -t /dev/exabnrnsv rewind
- | % tar tvf /dev/exabnrnsv
- | rw-r--r-- 2965/100 46719012 Jul 20 13:22 1992 taux2.cdf
- | rw-r--r-- 2965/100 46719016 Jul 20 16:21 1992 tauy2.cdf
- | rw-r--r-- 2965/100 46718996 Jul 13 17:30 1992 slp.cdf
- | rw-rw-rw- 2965/100 46718996 Jul 10 13:52 1992 sst.cdf
- | rw-r--r-- 2965/100 46719000 Jul 9 21:32 1992 sat.cdf
- | rw-r--r-- 2965/100 46719000 Jul 24 12:59 1992 sst-sat.cdf
- | rw-r--r-- 2965/100 46719004 Jul 9 16:11 1992 qs-qa.cdf
- |
- | But when I try to extract using "tar xovf /dev/exabnrnsv", (/dev/exabnrnsv is
- | linked to /dev/mt/tps0d6nrnsv.) I get an error in syslog saying a blocksize
- | mismatch:
- | NOTICE: SCSI tape #6 blocksize mismatch; blocksize on tape is 10240 bytes
- | and the "not enough space" message on the screen.
-
- Ahh; this is somewhat different than above. It is interesting that
- it happens though, as by default on SGI, tar uses a tape driver
- ioctl to determine the block size, and since you didn't specify
- the 'b' option (unless you have an alias?), it should have gotten
- it correctly. When using the variable block device, you have to
- specify a blocking factor (or let tar figure it out) that matches
- the one used when creating the tape. It would be interesting to
- know what 'mt -t /dev/exabnrnsv blksiz' reports for that tape.
-
- | So I naturally rewind the tape and try again with more arguments:
- | % tar xovbf 10240 /dev/exabnrnsv
- | The "not enough space" message is repeated on the screen but this time
- | no blocksize error message appears in syslog.
- |
- | Turning on some debugging (after rewinding again) yields:
- | % tar xovqqbf 10240 /dev/exabnrnsv
- | myio(read): wanted 5242880 bytes, got -1
- | errno is 12: Not enough spacetar: tape read error: Not enough space
- | exiting myio, firsttape 1
- | exiting from done, n 2
- |
- | I can read the tape with dd as a workaround but I would still like to know
- | why tar will not access the tape directly. Any help in this matter will
- | be most appreciated.
-
- Since for some reason tar doesn't seem to be figuring out
- the block size correctly, try specifying it explictly (10240
- is wrong, that is 10240*512, you want 20).
- --
- Let no one tell me that silence gives consent, | Dave Olson
- because whoever is silent dissents. | Silicon Graphics, Inc.
- Maria Isabel Barreno | olson@sgi.com
-