cvs commit: src/sys/dev/raid/vinum vinumconfig.c vinuminterrupt.c vinumio.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Sep 15 21:36:21 PDT 2005


dillon      2005/09/15 21:33:14 PDT

DragonFly src repository

  Modified files:
    sys/dev/raid/vinum   vinumconfig.c vinuminterrupt.c vinumio.c 
  Log:
  Cleanup a couple of serious issues with vinum.
  
  * If someone specifies a partition or a slice instead of a raw drive, such as
    'vinum read /dev/da0d' or 'vinum read /dev/da0s1', vinum gets really confused
    when it constructs device names while doing the drive scan.  For example,
    it was constructing device names like '/dev/da0as1d'.  Fixed.
  
    Note that vinum cannot recover the complete configuration when vinum read
    is used to scan a single partition such as /dev/da0d.  You have to tell
    it to scan the all drives associated with the vinum volume for it to be
    able to complete configure the volume.  If a 'vinum list' shows drives
    as 'referenced' without a device path, the related volumes/plexes/whatever
    cannot be used until the remaining subdisks are loaded.
  
  * vinum was attempting to construct the device major/minor number manually
    instead of using the appropriate macros, which prevented it from properly
    handling partitions greater then 'i' through 'p'.  Fixed.
  
  * vinum was issuing BUF_STRATEGY calls without initializing b_dev.  In
    DragonFly, b_dev must be initialized prior to every strategy call, even
    when reusing a buffer (this requirement will later be used as part of
    the block number translation caching subsystem).
  
  Reported-by: Dave Hayes
  
  Revision  Changes    Path
  1.7       +1 -1      src/sys/dev/raid/vinum/vinumconfig.c
  1.5       +2 -0      src/sys/dev/raid/vinum/vinuminterrupt.c
  1.9       +83 -54    src/sys/dev/raid/vinum/vinumio.c


http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumconfig.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinuminterrupt.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumio.c.diff?r1=1.8&r2=1.9&f=u





More information about the Commits mailing list