[SCSI] Log msg when getting Unit Attention

If the user accidentally changes LUN mappings or it occurs
due to a bug, then it can cause data corruption that can take
months and months to track down. This patch adds a log
message when getting REPORT_LUNS_DATA_CHANGED and it adds
a generic message for other Unit Attentions with asc == 0x3f.

We are working on adding support for handling of these errors,
but I think until then we should at least log a message so
tracking down problems as a result of one of these changes
is a little easier.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
Mike Christie 2010-04-25 07:03:57 -05:00 committed by James Bottomley
parent 3e84beba60
commit 6e49949c5e

View File

@ -307,6 +307,19 @@ static int scsi_check_sense(struct scsi_cmnd *scmd)
(sshdr.asc == 0x04) && (sshdr.ascq == 0x02))
return FAILED;
if (sshdr.asc == 0x3f && sshdr.ascq == 0x0e)
scmd_printk(KERN_WARNING, scmd,
"Warning! Received an indication that the "
"LUN assignments on this target have "
"changed. The Linux SCSI layer does not "
"automatically remap LUN assignments.\n");
else if (sshdr.asc == 0x3f)
scmd_printk(KERN_WARNING, scmd,
"Warning! Received an indication that the "
"operating parameters on this target have "
"changed. The Linux SCSI layer does not "
"automatically adjust these parameters.\n");
if (blk_barrier_rq(scmd->request))
/*
* barrier requests should always retry on UA