Not specifically about ZFS, but while trying to install OpenSolaris on a test machine, I get an annoying grub error.

I am really hoping that a new DVD is all that is needed to resolve this...

2007/05/23 15:24
I've printed out several hundred pages of Solaris sources; and I've been trying to correlate interfaces and get my head around the first few steps of the project. At the end of the day, though, I am tired, confused, and a bit intimidated-- generally frustrated. Se la vie.

I can't quite determine how the VDEV disk interface is going to work. I looked at FreeBSD's code, and they have vdev_disk.c in their tree unmodified (though, superceded by vdev_geom*). However, this file does #include <sys/sunldi.h>, though I am unable to find this defined anywhere in FreeBSD's tree. This is really no biggy, but is the end of a tangent on Sun's LDI and DDI interfaces. I'm not quite sure whether NetBSD's disk(9) is going to fit in here, or some other driver(9).

I'm sure I can get past this in the next few days, I just feel a bit overwhelmed at the end of the day in the middle of a crazy week. Hopefully this weekend I'll be able to take a step back, read through some code, and formulate some questions.

However, I did manage to read through a good bit of Cranor's & Parulkar's The UVM Virtual Memory System today, which was certainly enlightening. Maybe my brain is just a little too full for one day.

2007/05/17 21:46
FreeBSD's sys/compat/opensolaris provides several interface ports. Namely:
  • kern/opensolaris_kmem.c
  • kern/opensolaris_kobj.c
  • kern/opensolaris_kstat.c
  • kern/opensolaris_misc.c
  • kern/opensolaris_policy.c kern/opensolaris_string.c
  • kern/opensolaris_vfs.c
  • kern/opensolaris_zone.c

These interfaces use (at least) vm(9) and mutex(9) and will need to be ported. Perhaps it's time for me to re-read some parts of section 9...

2007/05/17 21:37
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
I was just about to post a minor tirade against "OpenSolaris and their corporate daddy" for, allegedly, not being Open Source enough. I mean, this is a blog, right? So why should I be expected to research before I go blabbing about how stupid I perceive something to be. Luckily, I did some more research...

To my sweet chagrin, I found that there are plenty of places to track OpenSolaris from. And, while I'm not sure that I'll be using mercurial, I have a few alternatives (like svn).

What I mean to say is: "Way to go OpenSolaris!"

2007/05/02 08:59
THE MEATENING!! -- I strongly suggest that you do not send mail to that link.