Print this page
8074 need to add FMA event for SSD wearout
*** 18,27 ****
--- 18,28 ----
*
* 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,52 ****
* 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.
*/
engine serd.io.scsi.cmd.disk.dev.rqs.merr@P, N=1, T=24h;
/*
* disk-as-detector: fault events.
--- 43,54 ----
* 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.
*/
engine serd.io.scsi.cmd.disk.dev.rqs.merr@P, N=1, T=24h;
/*
* disk-as-detector: fault events.
*** 183,199 ****
--- 185,203 ----
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,208 ****
--- 208,219 ----
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")) };