* 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 block mapping tree (simple dm layer) * Add simple tree locking (semaphore per tree) * Make allocator smarter * Only pin blocks allocated in this transaction * Add transaction handles * Do actual block accounting * Check compat and incompat flags on the inode * 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