This weekend I started reading through the VDEV code. I'm surprised-- and quite pleased-- with how clearly written everything is unlike other code [cough kqemu cough] I've had to read recently. I'm not claiming to have the whole thing under my belt at this point, though I am a bit more confident and comfortable with the task ahead.

At the moment, I have to determine:

  • how NetBSD's disk(9) works; especially as compared to Solaris's sys/sunldi.h, sys/sunddi.h, & sys/dkio.h.
  • whether we should replace vdev_disk.@(c|h) with the relevant NetBSD stuff, or whether there should be a new VDEV type (say-- vdev_nbdisk.*). Though, I can't see of what use Sun's interfaces will be to us.
  • how NetBSD's uvm(9) works and if it is related in any way to Solaris's sys/space_map.h. (By the way-- the uvm(9) portions of the NetBSD Internals Guide is really lacking).
  • the nature of various other Solaris interfaces I haven't yet read:
    $ find src/onnv -type f -name vdev\* | \
    	xargs sed -ne 's/^#include <\([^>]*\)>$/\1/p' | sort | uniq
    

Some of this will certainly be made easier by installing my development system with SolarisExpress.

2007/05/07 00:35
THE MEATENING!! -- I strongly suggest that you do not send mail to that link.