Print this page
8074 need to add FMA event for SSD wearout

@@ -18,10 +18,11 @@
  *
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2016 Nexenta Systems, Inc.  All rights reserved.
  */
 
 #pragma dictionary "DISK"
 
 #define P                       disk

@@ -42,11 +43,12 @@
  * ability to attempt data recovery/relocation without faulting a disk.
  * This implementation depends on a file system retry to the same lba
  * to trigger a fault when recovery/relocation is not possible.
  *
  * We let the engine propagate one error only once every 1 minute and then if we
- * still get 2 or more * errors within 24 hours for the same LBA, there is a fault.
+ * still get 2 or more errors within 24 hours for the same LBA,
+ * there is a fault.
  */
 engine serd.io.scsi.cmd.disk.dev.rqs.merr@P, N=1, T=24h;
 
 /*
  * disk-as-detector: fault events.

@@ -183,17 +185,19 @@
     FITrate=10, FRU=P, ASRU=P;
 event fault.io.disk.predictive-failure@P, FITrate=10,
     FITrate=10, FRU=P, ASRU=P;
 event fault.io.disk.self-test-failure@P, FITrate=10,
     FITrate=10, FRU=P, ASRU=P;
+event fault.io.disk.ssm-wearout@P;
 
 /*
  * ereports.
  */
 event ereport.io.scsi.disk.over-temperature@P;
 event ereport.io.scsi.disk.predictive-failure@P;
 event ereport.io.scsi.disk.self-test-failure@P;
+event ereport.io.scsi.disk.ssm-wearout@P;
 
 /*
  * Propagations.
  */
 prop fault.io.disk.over-temperature@P ->

@@ -204,5 +208,12 @@
 
 prop fault.io.disk.predictive-failure@P ->
     ereport.io.scsi.disk.predictive-failure@P {
     setpayloadprop("asc", payloadprop("additional-sense-code")) &&
     setpayloadprop("ascq", payloadprop("additional-sense-code-qualifier")) };
+
+prop fault.io.disk.ssm-wearout@P ->
+    ereport.io.scsi.disk.ssm-wearout@P {
+    setpayloadprop("current-wearout-percentage",
+    payloadprop("current-ssm-wearout"))
+    && setpayloadprop("threshold-wearout-percentage",
+    payloadprop("threshold-ssm-wearout")) };