# Need help reading flexbackup tapes without on-disk indexes

## rsa4046

Has anyone tried to read flexbackup tapes without the indices? I have tapes written by flexbackup (using tar) to a Sony AIT (sdx-450v) drive, but without the on-disk indices (these were, of course, lost on the disk that died). The tape drive tested and still tests fine (using flexbackup's own test read/write).   The backups were made using the drive's internal compression (i.e., no gzip, etc. applied).  I can't seem to figure out how to read the tape contents without the index files. The only thing I can read is a 44 byte header; trying to read further produces an error about a kernel bug in mt, and "Cannot allocate memory" messages from dd. For example,

```
hotbox tmp # mt -f /dev/st0 status

SCSI 2 tape drive:

File number=0, block number=0, partition=0.

Tape block size 0 bytes. Density code 0x39 (no translation).

Soft error count since last status=0

General status bits on (45010000):

 BOT WR_PROT ONLINE IM_REP_EN

# dd if=/dev/nst0 bs=10k

200610120510

This is a flexbackup index key

0+1 records indd if=/dev/nst0 bs=10k

200610120510

This is a flexbackup index key

0+1 records in

0+1 records out

44 bytes (44 B) copied, 2.68616 seconds, 0.0 kB/s

hotbox tmp # flexbackup -list

flexbackup version 1.2.1 (http://flexbackup.sourceforge.net)

/etc/flexbackup.conf syntax OK

|------------------------------------------------------------

| Checking /bin/sh on this machine... bash1

|------------------------------------------------------------

| Logging output to "flexbackup.list.200610150114.log"

| Reading from CURRENT TAPE POSITION

|------------------------------------------------------------

At block 1.

|------------------------------------------------------------

| dd ibs=10k obs=10k conv=noerror if="/dev/nst0" | tar --list --totals \

|   --verbose --sparse  -b 20 -B --file -

|------------------------------------------------------------

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.005021 seconds, 0.0 kB/s

dd: warning: working around lseek kernel bug for file (/dev/nst0)

  of mt_type=0x72 -- see <sys/mtio.h> for the list of types

dd: cannot work around kernel bug after all

dd: `/dev/nst0': cannot seek

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.012173 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.016633 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.020189 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.024653 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.028289 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.031901 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.036687 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.048751 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.143934 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.148455 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.152014 seconds, 0.0 kB/s

dd: reading `/dev/nst0': Cannot allocate memory

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.216243 seconds, 0.0 kB/s

```

and so on. Can anyone help? This is driving me nuts.   :Crying or Very sad: 

----------

