* virt-inode: Must be optimised.  !!!

* Make use of the info block (eg for fat_get_freespace).  !!


Think more about alloc_lock and extension lock

Make damn sure everything is kosher for the root node on FAT12/16.
* DONE in pager.c

Disk pager write and dirrect info?
pokel stuff, use dir file pagers, or disk pager?
locking virt.inode (direntry) vs directory.

dir.c:  convert filenames before looking up.

Replace key with key / FAT_DIR_REC_LEN or use a good hash key (quadratic?)

Don't use spinlock where not appropriate (get next free cluster)

Watch out for race trunc/get_cluster!!!


DONE:
----
inode.c: Report correct size of directories, so evrything else works
         as expected. This will require extending directory fat chains
         to maximum size (shouldn't be a problem as directories are always
         short).

inode.c (load_inode): calls to this function should be replaced by calls
	to diskfs_cached_lookup, BUT check carefully how ext2fs does it,
	there is danger of deadlocks.

fat.c (getcluster, with create enabled):
        First determine the real allocsize, as we lie about
        it in stat for efficiency.
