TODO list:
----------

VIVA versions 1.0 and 2.0 have some limitations which we hope will be removed
soon. This file suggests how these limitations can be overcome.

1. Implement logical blocks in VIVA. With a log_block_size of 2 for example,
a bit in the allocation bitmap would be considered to refer to two disk blocks.
Logical blocks increase data throughput, and the maximum size of a filesystem.
This is the most useful change one can make to VIVA.

2. Implement fragments as suggested in the original paper on VIVA. Fragments
are especially important with large logical blocks.

3. The maximum size of a parition in VIVA is 64MB. Since VIVA was implemented by
hacking Minix code, we stuck to the 64MB partition size implemented by Minix.

To increase the partition size in VIVA, several changes need to be made:

a. Implement logical blocks OR

a. Increase disk address lengths from 16 bits to 32 bits in the superblock.
b. Store segment counts in blocks adjacent to the superblock. The current
superblock structure is optimized to store segment counts within the 
superblock itself. Also think of a good method to divide segment counts
across different blocks, if more than one block is required, since arrays
cannot be spread across blocks -- they are read into buffers which are
not contiguous.
c. Load a few segments into memory since with a terabyte filesystem, the
size of bitmaps and segments will be too large to load completely into
memory. 

4. The maximum file size in VIVA is about 8.8 MB (assuming perfect 
compression in the sparse bitmap, which is the usual case). We need
to increase this value, and it is trivial to do so. Our current file size
is limited since we use only one indirect block ! Adding a double indirect
block would allow us to access about 9 GB !!! Making this change is
simple in VIVA - just look at the current implementation of 
indirect blocks. Implementing logical blocks will also result in a larger
max file size.

5. Max filename length is 30 characters in VIVA. Again due to the fact
VIVA uses Minix code. Change this so that filenames can be much longer.
Trivial to do this - read Ext2 directory code and make changes in VIVA.
