Working on o9fs has teached me many more things that I can count, but surely one of the most precious are the real need for simple code. Having no internet for almost two weeks, man pages and source code have been my best friends on the learning process. It could have been a real pain if I wasn’t hacking on clean and simple 9P and, even being a unix-like os, the OpenBSD kernel. Even if some people don’t like to hear this, good code is documentation.
On the technical part the communication framework is almost totally finished and it’s pretty usable. The filesystem can mount, resolve names (lookup was such a pain to get ‘right’), open, and close files. Next step is working on Tread related stuff such as read (duh!) and readdir. I spent a great deal of time thinking about how directories should be implemented when the simplest way was obvious: a list of fids.
Before going on the code work, I’m gonna put togheter my notes on the design and implementation of the project for those who wish to have a better undestanding of it.