tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: In-kernel units for block numbers, etc ...



kre%munnari.OZ.AU@localhost (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: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index