Re: Q: 2.4.[37]-XFS: /dev/nst0m: cannot allocate memory

Kai Makisara (Kai.Makisara@kolumbus.fi)
Sat, 18 Aug 2001 10:38:42 +0300 (EEST)


On Fri, 17 Aug 2001, (Martin Jacobs) wrote:

> Hi all,
>
> I cannot read anything from my tape (Tandberg DLT8000, LVD
> interface, ID=5) connected to an aic7899 or an sym53c895 using
> kernel 2.4.3-XFS or 2.4.7-XFS. (Everything works fine on
> 2.2.16.) Loading of st.o works. stinit works. mt (status, tape
> positioning) works. But when I try to read the amanda header
> from the tape (dd if=/dev/nst0m bs=32k count=1) I get the
> error
>
> dd: reading `/dev/nst0m': Cannot allocate memory
>
...
> Nearly the same for tar (with default block size of 512 byte).
>
> BUT: if I use bs=64k it works!!?
>
In variable block mode in 2.4, you get ENOMEM if the block on the tape is
larger than the byte count in the read(). 2.2 just returned what you asked
for and silentlry threw away the rest of the block. If the byte count is
larger than the block size, then the block is returned.

I.e., the first block on your tape is larger than 32 kB.

Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/