aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShyam Iyer <shyam_iyer@dell.com>2011-02-26 01:59:44 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-04-15 16:29:25 -0500
commitdeb1cb63d220fc6f24baef39a0ebb48e598f617b (patch)
tree71b3351dfdba5409ad57ae6212f6f99e25234a78
parent5853b4f06f7b9b56f37f457d7923f7b96496074e (diff)
downloadkernel_samsung_espresso10-deb1cb63d220fc6f24baef39a0ebb48e598f617b.zip
kernel_samsung_espresso10-deb1cb63d220fc6f24baef39a0ebb48e598f617b.tar.gz
kernel_samsung_espresso10-deb1cb63d220fc6f24baef39a0ebb48e598f617b.tar.bz2
[SCSI] Log thin provisioning threshold event
At least log the message that we received a THIN PROVISIONING SOFT THRESHOLD REACHED Unit Attention. Also added it to unit attention decodes. Signed-off-by: Shyam Iyer <shyam_iyer@dell.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/scsi/constants.c1
-rw-r--r--drivers/scsi/scsi_error.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c
index d0c8234..60d2ef2 100644
--- a/drivers/scsi/constants.c
+++ b/drivers/scsi/constants.c
@@ -772,6 +772,7 @@ static const struct error_info additional[] =
{0x3802, "Esn - power management class event"},
{0x3804, "Esn - media class event"},
{0x3806, "Esn - device busy class event"},
+ {0x3807, "Thin Provisioning soft threshold reached"},
{0x3900, "Saving parameters not supported"},
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 633c239..abea2cf 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -321,6 +321,12 @@ static int scsi_check_sense(struct scsi_cmnd *scmd)
"changed. The Linux SCSI layer does not "
"automatically adjust these parameters.\n");
+ if (sshdr.asc == 0x38 && sshdr.ascq == 0x07)
+ scmd_printk(KERN_WARNING, scmd,
+ "Warning! Received an indication that the "
+ "LUN reached a thin provisioning soft "
+ "threshold.\n");
+
/*
* Pass the UA upwards for a determination in the completion
* functions.