freebsd-nq/etc
Matt Jacob e770bc6bf5 First cut at GEOM based multipath. This is an active/passive{/passive...}
arrangement that has no intrinsic internal knowledge of whether devices
it is given are truly multipath devices. As such, this is a simplistic
approach, but still a useful one.

The basic approach is to (at present- this will change soon) use camcontrol
to find likely identical devices and and label the trailing sector of the
first one. This label contains both a full UUID and a name. The name is
what is presented in /dev/multipath, but the UUID is used as a true
distinguishor at g_taste time, thus making sure we don't have chaos
on a shared SAN where everyone names their data multipath as "Fred".

The first of N identical devices (and N *may* be 1!) becomes the active
path until a BIO request is failed with EIO or ENXIO. When this occurs,
the active disk is ripped away and the next in a list is picked to
(retry and) continue with.

During g_taste events new disks that meet the match criteria for existing
multipath geoms get added to the tail end of the list.

Thus, this active/passive setup actually does work for devices which
go away and come back, as do (now) mpt(4) and isp(4) SAN based disks.

There is still a lot to do to improve this- like about 5 of the 12
recommendations I've received about it,  but it's been functional enough
for a while that it deserves a broader test base.

Reviewed by: pjd
Sponsored by: IronPort Systems
MFC: 2 months
2007-02-27 04:01:58 +00:00
..
bluetooth
defaults Add support for EtherChannel configuration to rc startup scripts. 2007-02-09 12:11:27 +00:00
etc.amd64
etc.arm
etc.i386
etc.ia64
etc.powerpc o Remove screen, created by the unnecessary ofw_console(4) 2007-01-26 06:22:34 +00:00
etc.sparc64
gss
isdn
mail
mtree First cut at GEOM based multipath. This is an active/passive{/passive...} 2007-02-27 04:01:58 +00:00
namedb
pam.d
periodic Only match on log messages containing fail,invalid, 2007-02-23 21:42:54 +00:00
ppp
rc.d pkill(1) and pgrep(1) have been moved to /bin so that they are 2007-02-15 06:51:31 +00:00
root
sendmail
amd.map Switch default proto to TCP. 2006-11-06 01:42:11 +00:00
apmd.conf
auth.conf
cached.conf
crontab
csh.cshrc
csh.login
csh.logout
devd.conf fix comment about what pnpinfo is set 2007-02-15 16:38:10 +00:00
devfs.conf
dhclient.conf
disktab Replace duplicate and not quite accurate capabilities 2006-10-14 16:39:03 +00:00
fbtab
freebsd-update.conf Add FreeBSD Update 2.0 client code. The build code is in the projects 2006-08-31 09:51:34 +00:00
ftpusers
gettytab
group
hosts
hosts.allow Comment out lines that use example addresses and example.com names so 2006-08-29 09:20:48 +00:00
hosts.equiv
hosts.lpd
inetd.conf Re-add lukemftpd. It has: PAM, MAC, per-class nologin files, 2006-08-31 17:15:10 +00:00
libalias.conf Fix a regression: let natd load libalias modules before /usr is mounted 2006-10-08 14:02:00 +00:00
login.access
login.conf
mac.conf
Makefile Summer of Code 2005: improve libalias - part 1 of 2 2006-09-26 23:26:53 +00:00
man.alias
master.passwd
minfree
motd
netconfig
netstart
network.subr Add support for EtherChannel configuration to rc startup scripts. 2007-02-09 12:11:27 +00:00
networks
newsyslog.conf
nls.alias
nscd.conf
nsmb.conf
nsswitch.conf
opieaccess
pccard_ether Disable IPv6 configuration for interfaces in pccard_ether_start(). 2006-12-08 15:48:42 +00:00
pf.conf
pf.os Synchronize pf.os with OpenBSD. 2006-10-23 05:09:44 +00:00
phones Kill the default phone numbers. 2006-08-31 21:13:12 +00:00
portsnap.conf
printcap
profile
protocols
rc
rc.bsdextended
rc.firewall Summer of Code 2005: improve libalias - part 2 of 2 2006-12-29 21:59:17 +00:00
rc.firewall6
rc.initdiskless - put some common code in a function handle_remount(); 2006-12-03 23:50:29 +00:00
rc.resume
rc.sendmail
rc.shutdown
rc.subr Allow for /usr/bin/env when parsing the shebang line from an 2006-12-31 11:07:29 +00:00
rc.suspend
remote
rpc
services
shells
snmpd.config o Fix a comment: refer to the write community name by the OID not by 2006-12-31 11:19:48 +00:00
sysctl.conf
syslog.conf
termcap.small