summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2015-03-12 15:33:10 +0000
committerchristos <christos@NetBSD.org>2015-03-12 15:33:10 +0000
commit8a37ef05f971c57b733b591aea54be04e92db8a0 (patch)
tree336595502ec027ff54480183cfaae9e73577a1b2 /sys/dev/ic
parent9a627e1c771e2a15bc99198a6d5af2058b3a34ab (diff)
Dedup the conversion of bioc_disk and bioc_vol to envsys_data_t
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/cac.c40
-rw-r--r--sys/dev/ic/ciss.c39
-rw-r--r--sys/dev/ic/mfi.c30
3 files changed, 14 insertions, 95 deletions
diff --git a/sys/dev/ic/cac.c b/sys/dev/ic/cac.c
index 8aa17bc6dae..fd461b4ef82 100644
--- a/sys/dev/ic/cac.c
+++ b/sys/dev/ic/cac.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cac.c,v 1.54 2012/10/27 17:18:19 chs Exp $ */
+/* $NetBSD: cac.c,v 1.55 2015/03/12 15:33:10 christos Exp $ */
/*-
* Copyright (c) 2000, 2006, 2007 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cac.c,v 1.54 2012/10/27 17:18:19 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cac.c,v 1.55 2015/03/12 15:33:10 christos Exp $");
#include "bio.h"
@@ -723,40 +723,10 @@ cac_sensor_refresh(struct sysmon_envsys *sme, envsys_data_t *edata)
memset(&bv, 0, sizeof(bv));
bv.bv_volid = edata->sensor;
s = splbio();
- if (cac_ioctl_vol(sc, &bv)) {
- splx(s);
- return;
- }
+ if (cac_ioctl_vol(sc, &bv))
+ bv.bv_status = BIOC_SVINVALID;
splx(s);
- switch(bv.bv_status) {
- case BIOC_SVOFFLINE:
- edata->value_cur = ENVSYS_DRIVE_FAIL;
- edata->state = ENVSYS_SCRITICAL;
- break;
-
- case BIOC_SVDEGRADED:
- edata->value_cur = ENVSYS_DRIVE_PFAIL;
- edata->state = ENVSYS_SCRITICAL;
- break;
-
- case BIOC_SVSCRUB:
- case BIOC_SVONLINE:
- edata->value_cur = ENVSYS_DRIVE_ONLINE;
- edata->state = ENVSYS_SVALID;
- break;
-
- case BIOC_SVREBUILD:
- case BIOC_SVBUILDING:
- edata->value_cur = ENVSYS_DRIVE_REBUILD;
- edata->state = ENVSYS_SVALID;
- break;
-
- case BIOC_SVINVALID:
- /* FALLTRHOUGH */
- default:
- edata->value_cur = 0; /* unknown */
- edata->state = ENVSYS_SINVALID;
- }
+ bio_vol_to_envsys(edata, &bv);
}
#endif /* NBIO > 0 */
diff --git a/sys/dev/ic/ciss.c b/sys/dev/ic/ciss.c
index 1ed754ffea2..c84f3ad39d6 100644
--- a/sys/dev/ic/ciss.c
+++ b/sys/dev/ic/ciss.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ciss.c,v 1.32 2013/10/17 21:24:24 christos Exp $ */
+/* $NetBSD: ciss.c,v 1.33 2015/03/12 15:33:10 christos Exp $ */
/* $OpenBSD: ciss.c,v 1.68 2013/05/30 16:15:02 deraadt Exp $ */
/*
@@ -19,7 +19,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ciss.c,v 1.32 2013/10/17 21:24:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ciss.c,v 1.33 2015/03/12 15:33:10 christos Exp $");
#include "bio.h"
@@ -1541,38 +1541,9 @@ ciss_sensor_refresh(struct sysmon_envsys *sme, envsys_data_t *edata)
memset(&bv, 0, sizeof(bv));
bv.bv_volid = edata->sensor;
- if (ciss_ioctl_vol(sc, &bv)) {
- return;
- }
-
- switch(bv.bv_status) {
- case BIOC_SVOFFLINE:
- edata->value_cur = ENVSYS_DRIVE_FAIL;
- edata->state = ENVSYS_SCRITICAL;
- break;
-
- case BIOC_SVDEGRADED:
- edata->value_cur = ENVSYS_DRIVE_PFAIL;
- edata->state = ENVSYS_SCRITICAL;
- break;
+ if (ciss_ioctl_vol(sc, &bv))
+ bv.bv_status = BIOC_SVINVALID;
- case BIOC_SVSCRUB:
- case BIOC_SVONLINE:
- edata->value_cur = ENVSYS_DRIVE_ONLINE;
- edata->state = ENVSYS_SVALID;
- break;
-
- case BIOC_SVREBUILD:
- case BIOC_SVBUILDING:
- edata->value_cur = ENVSYS_DRIVE_REBUILD;
- edata->state = ENVSYS_SVALID;
- break;
-
- case BIOC_SVINVALID:
- /* FALLTRHOUGH */
- default:
- edata->value_cur = 0; /* unknown */
- edata->state = ENVSYS_SINVALID;
- }
+ bio_vol_to_envsys(edata, &bv);
}
#endif /* NBIO > 0 */
diff --git a/sys/dev/ic/mfi.c b/sys/dev/ic/mfi.c
index 7dc3430b8e1..34eb3efa949 100644
--- a/sys/dev/ic/mfi.c
+++ b/sys/dev/ic/mfi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: mfi.c,v 1.55 2014/08/21 15:43:35 christos Exp $ */
+/* $NetBSD: mfi.c,v 1.56 2015/03/12 15:33:10 christos Exp $ */
/* $OpenBSD: mfi.c,v 1.66 2006/11/28 23:59:45 dlg Exp $ */
/*
@@ -73,7 +73,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfi.c,v 1.55 2014/08/21 15:43:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfi.c,v 1.56 2015/03/12 15:33:10 christos Exp $");
#include "bio.h"
@@ -2638,31 +2638,9 @@ mfi_sensor_refresh(struct sysmon_envsys *sme, envsys_data_t *edata)
splx(s);
KERNEL_UNLOCK_ONE(curlwp);
if (error)
- return;
-
- switch(bv.bv_status) {
- case BIOC_SVOFFLINE:
- edata->value_cur = ENVSYS_DRIVE_FAIL;
- edata->state = ENVSYS_SCRITICAL;
- break;
-
- case BIOC_SVDEGRADED:
- edata->value_cur = ENVSYS_DRIVE_PFAIL;
- edata->state = ENVSYS_SCRITICAL;
- break;
+ bv.bv_status = BIOC_SVINVALID;
- case BIOC_SVSCRUB:
- case BIOC_SVONLINE:
- edata->value_cur = ENVSYS_DRIVE_ONLINE;
- edata->state = ENVSYS_SVALID;
- break;
-
- case BIOC_SVINVALID:
- /* FALLTRHOUGH */
- default:
- edata->value_cur = 0; /* unknown */
- edata->state = ENVSYS_SINVALID;
- }
+ bio_vol_to_envsys(edata, &bv);
}
#endif /* NBIO > 0 */