diff options
-rw-r--r-- | sys/scsi/mpath.c | 8 | ||||
-rw-r--r-- | sys/scsi/mpath_emc.c | 20 | ||||
-rw-r--r-- | sys/scsi/mpath_hds.c | 20 | ||||
-rw-r--r-- | sys/scsi/mpath_rdac.c | 20 | ||||
-rw-r--r-- | sys/scsi/mpath_sym.c | 23 | ||||
-rw-r--r-- | sys/scsi/mpathvar.h | 11 |
6 files changed, 43 insertions, 59 deletions
diff --git a/sys/scsi/mpath.c b/sys/scsi/mpath.c index 80e2da55636..ca0d8546d98 100644 --- a/sys/scsi/mpath.c +++ b/sys/scsi/mpath.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpath.c,v 1.29 2013/08/26 07:32:24 dlg Exp $ */ +/* $OpenBSD: mpath.c,v 1.30 2013/08/26 10:13:17 dlg Exp $ */ /* * Copyright (c) 2009 David Gwynne <dlg@openbsd.org> @@ -489,6 +489,12 @@ mpath_path_detach(struct mpath_path *p) return (0); } +void +mpath_path_status(struct mpath_path *p, int status) +{ + +} + struct device * mpath_bootdv(struct device *dev) { diff --git a/sys/scsi/mpath_emc.c b/sys/scsi/mpath_emc.c index 626006ac240..8bcd16ca25d 100644 --- a/sys/scsi/mpath_emc.c +++ b/sys/scsi/mpath_emc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpath_emc.c,v 1.10 2013/08/26 07:38:56 dlg Exp $ */ +/* $OpenBSD: mpath_emc.c,v 1.11 2013/08/26 10:13:17 dlg Exp $ */ /* * Copyright (c) 2011 David Gwynne <dlg@openbsd.org> @@ -91,14 +91,12 @@ struct cfdriver emc_cd = { void emc_mpath_start(struct scsi_xfer *); int emc_mpath_checksense(struct scsi_xfer *); -int emc_mpath_online(struct scsi_link *); -int emc_mpath_offline(struct scsi_link *); +void emc_mpath_status(struct scsi_link *); const struct mpath_ops emc_mpath_ops = { "emc", emc_mpath_checksense, - emc_mpath_online, - emc_mpath_offline, + emc_mpath_status, MPATH_ROUNDROBIN }; @@ -218,16 +216,12 @@ emc_mpath_checksense(struct scsi_xfer *xs) return (MPATH_SENSE_DECLINED); } -int -emc_mpath_online(struct scsi_link *link) +void +emc_mpath_status(struct scsi_link *link) { - return (0); -} + struct emc_softc *sc = link->device_softc; -int -emc_mpath_offline(struct scsi_link *link) -{ - return (0); + mpath_path_status(&sc->sc_path, MPATH_S_UNKNOWN); } int diff --git a/sys/scsi/mpath_hds.c b/sys/scsi/mpath_hds.c index 79181a1360e..91644a9606d 100644 --- a/sys/scsi/mpath_hds.c +++ b/sys/scsi/mpath_hds.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpath_hds.c,v 1.8 2013/08/26 07:38:56 dlg Exp $ */ +/* $OpenBSD: mpath_hds.c,v 1.9 2013/08/26 10:13:17 dlg Exp $ */ /* * Copyright (c) 2011 David Gwynne <dlg@openbsd.org> @@ -86,14 +86,12 @@ struct cfdriver hds_cd = { void hds_mpath_start(struct scsi_xfer *); int hds_mpath_checksense(struct scsi_xfer *); -int hds_mpath_online(struct scsi_link *); -int hds_mpath_offline(struct scsi_link *); +void hds_mpath_status(struct scsi_link *); const struct mpath_ops hds_mpath_ops = { "hds", hds_mpath_checksense, - hds_mpath_online, - hds_mpath_offline, + hds_mpath_status, MPATH_ROUNDROBIN }; @@ -215,16 +213,12 @@ hds_mpath_checksense(struct scsi_xfer *xs) return (MPATH_SENSE_DECLINED); } -int -hds_mpath_online(struct scsi_link *link) +void +hds_mpath_status(struct scsi_link *link) { - return (0); -} + struct hds_softc *sc = link->device_softc; -int -hds_mpath_offline(struct scsi_link *link) -{ - return (0); + mpath_path_status(&sc->sc_path, MPATH_S_UNKNOWN); } int diff --git a/sys/scsi/mpath_rdac.c b/sys/scsi/mpath_rdac.c index bd07adb9502..c1538d7abab 100644 --- a/sys/scsi/mpath_rdac.c +++ b/sys/scsi/mpath_rdac.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpath_rdac.c,v 1.11 2013/08/26 07:43:04 dlg Exp $ */ +/* $OpenBSD: mpath_rdac.c,v 1.12 2013/08/26 10:13:17 dlg Exp $ */ /* * Copyright (c) 2010 David Gwynne <dlg@openbsd.org> @@ -143,14 +143,12 @@ struct cfdriver rdac_cd = { void rdac_mpath_start(struct scsi_xfer *); int rdac_mpath_checksense(struct scsi_xfer *); -int rdac_mpath_online(struct scsi_link *); -int rdac_mpath_offline(struct scsi_link *); +void rdac_mpath_status(struct scsi_link *); const struct mpath_ops rdac_mpath_ops = { "rdac", rdac_mpath_checksense, - rdac_mpath_online, - rdac_mpath_offline, + rdac_mpath_status, MPATH_ROUNDROBIN }; @@ -282,16 +280,12 @@ rdac_mpath_checksense(struct scsi_xfer *xs) return (MPATH_SENSE_DECLINED); } -int -rdac_mpath_online(struct scsi_link *link) +void +rdac_mpath_status(struct scsi_link *link) { - return (0); -} + struct rdac_softc *sc = link->device_softc; -int -rdac_mpath_offline(struct scsi_link *link) -{ - return (0); + mpath_path_status(&sc->sc_path, MPATH_S_UNKNOWN); } int diff --git a/sys/scsi/mpath_sym.c b/sys/scsi/mpath_sym.c index 31602d7da34..68d4557b9bd 100644 --- a/sys/scsi/mpath_sym.c +++ b/sys/scsi/mpath_sym.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpath_sym.c,v 1.11 2013/08/26 07:38:56 dlg Exp $ */ +/* $OpenBSD: mpath_sym.c,v 1.12 2013/08/26 10:13:17 dlg Exp $ */ /* * Copyright (c) 2010 David Gwynne <dlg@openbsd.org> @@ -62,22 +62,19 @@ struct cfdriver sym_cd = { void sym_mpath_start(struct scsi_xfer *); int sym_mpath_checksense(struct scsi_xfer *); -int sym_mpath_online(struct scsi_link *); -int sym_mpath_offline(struct scsi_link *); +void sym_mpath_status(struct scsi_link *); const struct mpath_ops sym_mpath_sym_ops = { "sym", sym_mpath_checksense, - sym_mpath_online, - sym_mpath_offline, + sym_mpath_status, MPATH_ROUNDROBIN }; const struct mpath_ops sym_mpath_asym_ops = { "sym", sym_mpath_checksense, - sym_mpath_online, - sym_mpath_offline, + sym_mpath_status, MPATH_MRU }; @@ -208,14 +205,10 @@ sym_mpath_checksense(struct scsi_xfer *xs) return (MPATH_SENSE_DECLINED); } -int -sym_mpath_online(struct scsi_link *link) +void +sym_mpath_status(struct scsi_link *link) { - return (0); -} + struct sym_softc *sc = link->device_softc; -int -sym_mpath_offline(struct scsi_link *link) -{ - return (0); + mpath_path_status(&sc->sc_path, MPATH_S_UNKNOWN); } diff --git a/sys/scsi/mpathvar.h b/sys/scsi/mpathvar.h index 3367b0abaa2..afb78afc823 100644 --- a/sys/scsi/mpathvar.h +++ b/sys/scsi/mpathvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: mpathvar.h,v 1.6 2013/08/26 07:38:56 dlg Exp $ */ +/* $OpenBSD: mpathvar.h,v 1.7 2013/08/26 10:13:17 dlg Exp $ */ /* * Copyright (c) 2010 David Gwynne <dlg@openbsd.org> @@ -25,14 +25,17 @@ struct mpath_group; struct mpath_ops { char op_name[16]; int (*op_checksense)(struct scsi_xfer *); - int (*op_online)(struct scsi_link *); - int (*op_offline)(struct scsi_link *); + void (*op_status)(struct scsi_link *); int op_schedule; }; #define MPATH_SENSE_DECLINED 0 /* path driver declined to interpret sense */ #define MPATH_SENSE_FAILOVER 1 /* sense says controllers have failed over */ +#define MPATH_S_UNKNOWN -1 +#define MPATH_S_ACTIVE 0 +#define MPATH_S_PASSIVE 1 + #define MPATH_ROUNDROBIN 0 /* use all active paths */ #define MPATH_NEXT MPATH_ROUNDROBIN #define MPATH_MRU 1 /* use most recently used path */ @@ -52,7 +55,7 @@ struct mpath_path { int mpath_path_probe(struct scsi_link *); int mpath_path_attach(struct mpath_path *, u_int, const struct mpath_ops *); -void mpath_path_state(struct mpath_path *, int); +void mpath_path_status(struct mpath_path *, int); int mpath_path_detach(struct mpath_path *); void mpath_start(struct mpath_path *, struct scsi_xfer *); |