k...@munnari.oz.au (Robert Elz) writes:

>The vnd driver is (from what I can tell from skimming it) trying to be
>smart - if it can (if it thinks it can) it bypasses the generic file i/o
>and goes directly to the underlying device's, what a comment at the start
>of vnd.c says is ...

> * NOTE 1: If the vnode supports the VOP_BMAP and VOP_STRATEGY operations,
> * this uses them to avoid distorting the local buffer cache.  If those
> * block-level operations are not available, this falls back to the regular
> * read and write calls.

Even with VOP_STRATEGY it should be able to use smaller transfers,
but apparently it doesn't.


>vndconfig worked (or reported no errors) in all cases.   The 512 byte
>sector on the unholy file produces a bizarre default disklabel though,
>with all 16 possible partitions in use, each of them (aside from d)
>being identical (start 0, full size, 4.2BSD type).

Yes, same happens here.

You also see console error messages like:
        vnd0: dos partition I/O error
        vnd0: unable to read MBR @ 0, error = 22

So, the small I/O request is passed down to the disk when using
VOP_STRATEGY.

The bizarre disklabel seems to be another problem.

-- 
-- 
                                Michael van Elst
Internet: mlel...@serpens.de
                                "A potential Snark may lurk in every tree."

Reply via email to