cvs commit: src/etc/mtree BSD.include.dist src/sbin/geom/class Makefile src/sbin/geom/class/multipath Makefile geom_multipath.c src/sys/conf NOTES files src/sys/geom/multipath g_multipath.c g_multipath.h src/sys/modules/geom Makefile ...

Matt Jacob mjacob at FreeBSD.org
Tue Feb 27 04:01:58 UTC 2007


mjacob      2007-02-27 04:01:58 UTC

  FreeBSD src repository

  Modified files:
    etc/mtree            BSD.include.dist 
    sbin/geom/class      Makefile 
    sys/conf             NOTES files 
    sys/modules/geom     Makefile 
  Added files:
    sbin/geom/class/multipath Makefile geom_multipath.c 
    sys/geom/multipath   g_multipath.c g_multipath.h 
    sys/modules/geom/geom_multipath Makefile 
  Log:
  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
  
  Revision  Changes    Path
  1.111     +2 -0      src/etc/mtree/BSD.include.dist
  1.14      +1 -0      src/sbin/geom/class/Makefile
  1.1       +10 -0     src/sbin/geom/class/multipath/Makefile (new)
  1.1       +230 -0    src/sbin/geom/class/multipath/geom_multipath.c (new)
  1.1411    +1 -0      src/sys/conf/NOTES
  1.1180    +1 -0      src/sys/conf/files
  1.1       +768 -0    src/sys/geom/multipath/g_multipath.c (new)
  1.1       +99 -0     src/sys/geom/multipath/g_multipath.h (new)
  1.19      +1 -0      src/sys/modules/geom/Makefile
  1.1       +8 -0      src/sys/modules/geom/geom_multipath/Makefile (new)


More information about the cvs-src mailing list