blk: preallocate log blocks to avoid deadlocks
cons: more debug of block states
fs: don't start epoch in dispatcher
main: show worker id in proc name
snap: keep in-mem refcounts in sync with on-disk refcounts
snap: when taking mutable snaps, the base is the forked snap, not its predecessor
snap: correct snap refcounting, relink open mounts
ream: fix initial snapshot refcounts
dump: don't take lock when dumping snaps
dump: show some more useful info for trees
fs: clunk dent when duping fid
all: memcpy->memmove when sane
tree: handle truncation edge case with multiple Oclearb messages
dump: show tree dump correctly with Onop
fs: increment refcount of dent before sending it to sweep proc
fs: lock arena list on sync
snap: fix up links forward, clean up code, fix refs correctly
gefs: fix snapshot deletion
snap: don't reclaim all old deadlists, only the ones unused by the predecessor
check: show more info on what we're checking
atomic: add arm64 support (thanks kws)
atomic: return a boolean from the cas variants
cons: give human-friendly units for disk usage
snap: don't create snapshots pre-garbled
load: print correct label for users
ream: separate out the mutable trees from the forked empty tree
check: add missing ops to known op list
freplay: use int-sized lengths for read
fs: clean up old log after syncing for safety
fs: clean up old freelists after compression
blk: move log compression to syncing
snap: add flags and base id to avoid double frees on snap deletion
cons: use the mount for accssing users
blk: fix deadlock with full queues
blk: make chainblock async -- no need to block here.
gefs: remove junk superblock stuff
blk: unify log and deadlist formats
snap: keep old snap tree blocks in deadlists
gefs: disable online log compression
blk: log compression is now synchronous
snap: when updating, there is no successor we want to move the blocks to
tree: fix scans in subtle edge case
fs: make iterating a tree unaffected by mutations
fs: properly protect trees with EBR, don't let them change under us
snap: fix snapshotting bugs
dump: don't leak blocks in dumping
fs: stop leaking blocks when truncating files
freplay: show number of writes replayed
freplay: cleanup, add srvname to peek replay progress.
fs: move qlock closer to clear op, reorder epoch enter with locking
fs: sweep blocks in background
fs: clearb needs epoch cleans around its operations
gefs: put tree roots on the deferred reclamation list too
fs: add more epoch enter/leave pairs where needed
blk: avoid removing blocks from cache prematurely
blk: free blocks from syncq to prevent reordering of writes to reallocated blocks
cache: fix lock ordering issue
cachedel: when deallocing, we have to hold the lock.
main: no need to be as conservative with worker counts.
gefs: remove deferred frees, use proper snapshots
blk: we have a perfectly good qgen
blk: implement sync barriers
freplay: pass MREPL mount option
blk: make loadlog debug more readable
blk: nil logtl means there's no update to do
cons: add prompt
fs: correct flush behavior
test/mkfile: build test programs
freplay: fix file sizing, add read-only mode
blk: return block load errors to caller, fix sync ordering
load: clear arena before loading
main: add option to check fs on startup
main: add option to check fs on startup
freplay: add test program to replay writes to files
fs: pull out superblock from arena, duplicate arenas to allow for better crash resilience
fs: add locking and extra sanity checking
tree: scans are no longer heap allocated
fs: add missing 'goto Out'
fs: tweak the previous cleanup, fix a missed unlockfid.