[SCSI] Log msg when getting Unit Attention
authorMike Christie <michaelc@cs.wisc.edu>
Sun, 25 Apr 2010 12:03:57 +0000 (07:03 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:03:51 +0000 (12:03 -0500)
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>
drivers/scsi/scsi_error.c

index a5d630f5f5199e84a9e236a2862a89573f98d7a5..c60cffbefa3c4a0a7218ba801c992567db74a962 100644 (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