use Enomem throughout for out-of-memory error
use char arrays for errors instead of string literals
fs: fix readb with missing block
user: fix one more index reuse during parseusers
fs: add some missed putfid and fix an incorrect clunkfid condition
fs: remove response/clunk ordering
fs: add missing rlock around Dent access
blk: move freep update to inside freelk
blk: fix double unlock with full arena
fs: fix leaks of Scan structs
fs: assert that we actually clunked a fid in clunkfid()
blk: sync the new tail after writing the compressed log
snap: fix scandead with DlChain
style: static up a few functions.
blk: fix excessive cleverness in sync
blk: fix allocator ordering issues (thanks mcf)
fs: return negotiated version in Rversion
fix readblk with short read
tree: implement optimized upsert
blk: when retrying, rotate through the arenas
blk: sync blocks to disk in background
tree: clean up packing messages, values
load: show device in load message
blk: shard block locks by block address to reduce contention
blk, snap, fs: many many fixes
fs: implement '..' with backlinks in directories.
tree: fix directory listing by fixing prefix scans on values
snap: remove ref/unref messages
cons: add 'show ent' command to inspect file tree
TODO: add one more tier of work to do.
users: fix parsing of groups (thanks mcf)
sync: move to a new task thread.
snap: fix deadlist handling
fs: move tree mutations from console to admin messages
fs: start checking permissions
cons: improve help messages
users: implement loading /adm/users
snap: move deadlists around correctly-ish.
fs: correct behavior of remove()
wip: start processing deadlists.
snapshots: record deadlists
fs: more constants, safer sizing.
fs: don't overflow mtime, atime
tree: remove silly inline/ptr distinction from values
cons: quiesce in console reading.
fs, tree: don't flag zombies on free, logging tweaks
dump: fix printing of wstat messages
blk: refactor allocation log to list
dump: make block pointer name more readable.
tree: don't pack wstat into opcode
fs: first cut at implementing wstat
check, dump: move dump functions from check.c to dump.c
sync: separate snapshots from dataset names
sync: move sync code into its own file
fs: reclaim blocks when deleting files
cons: refactor fs dumping
cache: work towards deletion
fs: require 9p version message before we talk to the world
snap: keep root in snapshot tree.
cons: add 'show free' to show free ranges
tree: apply messages to the right files
pack: clean up junky dprints.
dump: fix printing Odelete messages
lookup: collect all the way up the tree.
splitleaf: switch blocks in the same loop
blk: don't double-free blocks, split pivot splits
check: better dump formatting, misc fixes.
newblk: don't clobber refs on cached blocks
cons: extract into its own file
cache: extract into its own file
console: add 'show cache' for debugging
blk: possibly fix entry reuse
all: replace error returns with constants.
tree: refcount blocks correctly
cons: improve output
bptr: move to 24 byte block pointers with generations
refactor: move to Bptr struct
scan: fix tree boundary condition
fscons: tweak 'show' to take args
fs: handle truncation a bit better, accumulate messages correctly
scan: don't drop files in directory listing
tree: refactor to allow multiple parallel trees
blk: fix freelist implementaton
fs: allocate blocks correctly, group insertions, snapshot
tree: shrink buffer when flushing deletions.