This is a respin of the patches Barry Naujok wrote at SGI for reducing
the memory usage in repair. I've split it up, fixed a few small bugs
and added two preparatory cleanups - but all the real work is Barry's.
There has been lots of heavy testing on large filesystems by Barry
on the original patches, and quite a lot of testing on slightly smaller
filesystems by me. These were all ad-hoc tests as XFSQA coverage is
rather low on repair. My plan is to add various additional testcase
for XFSQA both for intentional corruptions as well as reproducing past
reported bugs before we'll release these patches in xfsprogs. But I think
it would be good if we could get them into the development git tree to
get wider coverage already.