a very occasional diary.




And now to the subject of death.

As little as I want to go into this, some misunderstanding is to be cleared. Recent interview [/.] with jailed Hans Reiser, by Joshua Davis, concludes with the following, presumably ominous paragraph:

While he launches into the intricacies of database science, I'm thinking, "Where is the front passenger seat of your car?" He has never explained this. It seems a fundamental hole in his defense. But he won't stop talking. When I try to interrupt, he insists I let him finish. It's as if the file system holds all the answers. So I take the hint, and that night, in my office, I start scouring the 80,496 lines of the Reiser4 source code. Eventually I stumble across a passage that starts at line 78,077. It's not part of the program itself — it's an annotation, a piece of non-executable text in plain English. It's there for the benefit of someone who has chosen to read this far into the code. The passage explains how memory structures are born, grow, and eventually die. It concludes: "Death is a complex process."
The phrase in question is a part of a large top-of-the-file comment in znode.c, describing, indeed, among other things, a life-cycle of znode (Zam's node) data-structure. But
  • It is not quoted verbatim (for a better effect, as one is left to assume). Grammatically incorrect original reads:
       5. His death.
       Death is complex process.
       When we irrevocably commit ourselves to decision to remove node from the
       tree, JNODE_HEARD_BANSHEE bit is set in zjnode.state of corresponding
       znode. This is done either in ->kill_hook() of internal item or in
       kill_root() function when tree root is removed.
  • and, it was me rather than Hans who wrote this. It was long, long time ago, but I believe SCM logs are still here to prove this.

Follow by Email