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."