提交 5e4fabb6 编写于 作者: K Kai Makisara 提交者: Martin K. Petersen

st: clear ILI if Medium Error

Some drives set the ILI flag together with MEDIUM ERROR sense code.
Clear the ILI flag in this case so that the medium error will be
handled.  The problem was reported by Maurizio Lombardi.
Signed-off-by: NKai Mäkisara <kai.makisara@kolumbus.fi>
Reviewed-by: NLaurence Oberman <loberman@redhat.com>
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
上级 71892418
...@@ -1974,9 +1974,12 @@ static long read_tape(struct scsi_tape *STp, long count, ...@@ -1974,9 +1974,12 @@ static long read_tape(struct scsi_tape *STp, long count,
transfer = (int)cmdstatp->uremainder64; transfer = (int)cmdstatp->uremainder64;
else else
transfer = 0; transfer = 0;
if (STp->block_size == 0 && if (cmdstatp->sense_hdr.sense_key == MEDIUM_ERROR) {
cmdstatp->sense_hdr.sense_key == MEDIUM_ERROR) if (STp->block_size == 0)
transfer = bytes; transfer = bytes;
/* Some drives set ILI with MEDIUM ERROR */
cmdstatp->flags &= ~SENSE_ILI;
}
if (cmdstatp->flags & SENSE_ILI) { /* ILI */ if (cmdstatp->flags & SENSE_ILI) { /* ILI */
if (STp->block_size == 0 && if (STp->block_size == 0 &&
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册