summaryrefslogtreecommitdiff
path: root/sys/scsi/files.scsi
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2011-04-05 14:25:43 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2011-04-05 14:25:43 +0000
commit6894d524815751209e596eb2888fc36dcdadc461 (patch)
treed8a9ea654578c297b377d0d406e592d7cf3749ad /sys/scsi/files.scsi
parent09931756bf164ec239559a8c39bd52706b27241e (diff)
move forward with scsi multipathing.
the big change is how paths between mpath capable devices and the kernel are managed. originally the midlayer would steal the links to the devices and hide them behind mpath. all the changes an adapter made to a link (eg activate or detach), the midlayer had to test if it was an mpath link and then call special mpath code to handle it. the original code also assumed that all paths behaved the same, but the reality is that different devices have different command sets and behaviours. figuring out which behaviour to pick and prioritising them is basically the same job autoconf does with match and attach. rather than special casing mpath in the midlayer and reimplimenting autoconf, this turns paths into actual device drivers with match and attach routines. after they figure out if the path is active, they then give it to mpath(4) to use as a backend. i have written drivers for symmetric access devices (sym(4)) where all paths to the same logical unit are as good as each other, lsi/engenio arrays (rdac(4), and emc arrays (emc(4)). the rdac and emc drivers only detect active paths at attach time, the do not cope if the controller changes state unless you unplug the path and plug it in again to retest the active state. they also do not have support for directing array failover. operating and hoplugging has been tested with mpii(4), fc and sas mpi(4), and iscsi via vscsi (claudio did this too). ok krw@ deraadt@
Diffstat (limited to 'sys/scsi/files.scsi')
-rw-r--r--sys/scsi/files.scsi15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/scsi/files.scsi b/sys/scsi/files.scsi
index 2066b8f9579..e5e5a70ba5a 100644
--- a/sys/scsi/files.scsi
+++ b/sys/scsi/files.scsi
@@ -1,4 +1,4 @@
-# $OpenBSD: files.scsi,v 1.22 2010/07/03 03:59:17 krw Exp $
+# $OpenBSD: files.scsi,v 1.23 2011/04/05 14:25:42 dlg Exp $
# $NetBSD: files.scsi,v 1.4 1996/05/16 04:01:08 mycroft Exp $
#
# Config.new file and device description for machine-independent SCSI code.
@@ -39,3 +39,16 @@ file scsi/safte.c safte needs-flag
device ses: disk
attach ses at scsibus
file scsi/ses.c ses needs-flag
+
+
+device sym
+attach sym at scsibus
+file scsi/mpath_sym.c sym
+
+device rdac
+attach rdac at scsibus
+file scsi/mpath_rdac.c rdac
+
+device emc
+attach emc at scsibus
+file scsi/mpath_emc.c emc