diff options
| author | christos <christos@NetBSD.org> | 2015-03-12 15:33:10 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2015-03-12 15:33:10 +0000 |
| commit | 8a37ef05f971c57b733b591aea54be04e92db8a0 (patch) | |
| tree | 336595502ec027ff54480183cfaae9e73577a1b2 /sys/dev/ic | |
| parent | 9a627e1c771e2a15bc99198a6d5af2058b3a34ab (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.c | 40 | ||||
| -rw-r--r-- | sys/dev/ic/ciss.c | 39 | ||||
| -rw-r--r-- | sys/dev/ic/mfi.c | 30 |
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 */ |
