HAMMER 4/many - more core infrastructure
* Add reserved areas for a boot area and a memory log.
* Add merged scan operations which are the core procedures used to execute
most filesystem operations. These functions will access both the
in-memory tree of unsynchronized information and the on-disk topology
to generate a 'merged' result.
Amoung other things this allows the filesystem to hold operations in a
memory cache without actually having to mess with the HAMMER topology
on-disk. The on-disk topology is then updated in a deferred manner.
Disk I/O is entirely avoided for self contained operations which create,
write, and delete related files quickly enough.
* Add unmount sequencing, make mount and df work again.
* Test the reference counting and flushing system on most primary
structures.
* Test basic buffer cache interactions, reading, writing, and lazy
synchronization.
* Start tying VNOPS into the infrastructure. open/close/read/write works
now via the in-memory cache (none of it is synched to the disk topology
yet!). readdir doesn't yet work... the 32 bit cookies are not large
enough.
18 files changed: