Above sense data indicates drive has encountered a filemark on a READ
command. This READ did not read a partial block since the residual count
in Sense data is set to 0x40 which is the same block count requested by
the READ command. If you were writing 32K blocks to the tape and there
indeed was a partial block at the end, the current position of the tape
is not at that partial block. Tape seems to be positioned immediately
after the last block where a filemark was written indicating end of
archive.
Looking at the READ command (8 1 0 0 40 0), the "fixed" bit is set which
means the tape is being read in fixed block length mode. This read
command is trying to read 64 blocks from the tape. If the application is
reading data in blocks of 32K, it implies the block size on the physical
media is 512 Bytes. So when you say last 32K block may not have been
flushed to the drive, I am assuming you mean not being flushed from the
host to the tape drive. This is possible but there may be something else
going on. I would suggest setting no block limits on the drive using "mt
stsetoptions no-blklimits". See if that helps.
====================================================================
Khalid Aziz Linux Development Laboratory
(970)898-9214 Hewlett-Packard
khalid@fc.hp.com Fort Collins, CO
-
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/