tree: calculate hash of new root before updating root pointer
ream: use packlabel/packsnap in initsnap
dump: make snap tree identifier match help text
fs: take reference to tree before lookup
fs: use lookup in fsstat to lock f->mnt
blk: fix free pointer update
cons: allow toggling debug flag
tree: make fastupsert mark the tree as dirty
fs: fix access check for Tremove
ream: don't reserve space for extinct superblock
fs: add newline when printing fshangup messages
hash: make siphash return type match prototype
hash: use static siphash key buffer
remove some redundant hash calculations
use uvlong for block hash and print with fixed width
fs: increase fid ref before unlocking fidtab
fs: fix incorrect fid hash when highest bit is set
hash: use logical right shift in ihash
fs: fix write to unallocated block within file range
fs: change type of readb size argument to vlong
fs: zero new data block outside write range
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.