* cleanup, add more error checking, get rid of BUG_ONs
* Make IO functions look more like the page cache
* Fix ENOSPC handling
* make a real mkfs and superblock
* Do checksumming
* Define FS objects in terms of different item types
* add inode tree
* Add block mapping tree (simple dm layer)
* Add simple tree locking (semaphore per tree)
* Make allocator smarter
* Do actual block accounting
* Port into the kernel
* Add virtual filesystems, mountable snapshots
* Get rid of struct ctree_path, limiting tree levels held at one time
* Release
* Do real tree locking
* Add extent mirroring (backup copies of blocks)
* Add fancy interface to get access to incremental backups
* Add fancy striped extents to make big reads faster
* Use relocation to try and fix write errors
* Make allocator much smarter
* xattrs (directory streams for regular files)
* fsck
* Scrub & defrag

