Terminology

gap - a section of free space
out of this zone - object 2 (boot block+map+root directory); object 1 (bad
        blocks)
frag - a single unit allocated to something
pre-gap frag - frag immediately before a gap
post-gap frag - see pre-gap frag

Tactics:


Never move frags between zones


Don't even try to move frags across frags out of this zone


If there's a pre-gap frag with pre- or post-gap frags after it with the same
ID then try to move the later frags into the earlier gap:

------ppppppppggggggggg--------------------lllllllllll-----------------

Try to move llllll into ggggg.

Limitations:
Any frag can't move down over a frag of the same ID - screws up the file's
contents.
Any frag won't move down if this means the gap's remainder is too small to
exist in its own right.
post-frags can be split, but only so that the remainder can be a frag in its
own right.
pre-frags won't split.


