vinum problems

Matthew Dillon dillon at apollo.backplane.com
Sun Jul 29 13:29:10 PDT 2007


    I've tracked the vinum problem down to the fact that vinum is trying
    to synthesize devices and talk directly to the device layer.  It's
    doing a number of things wrong:

    * It is opening and closing the underlying device regardless of whether
      the underlying device wants only a 'last close' close.  This is
      causing the underlying device to be closed even if other sources,
      such as other filesystems, are holding it open.

      This is what is causing all the dscheck errors and blowing up the
      rest of the system.

    * It is overriding the device's si_iosize_max setting.  This is just
      plain illegal.  vinum has no business setting an underlying device's
      maximum physical I/O size.

    * It is calling the device strategy functions with I/O sizes which
      are not bounded by the device's si_iosize_max setting.

    I am working on a fix right now, which is basically to make vinum use
    the vnode interface to access underlying devices instead of the device
    interface.

						-Matt






More information about the Bugs mailing list