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