The following series is preparation for delayed logging patches. The cleanups
and factoring patches are mainly to make it simple to introduce the delayed
logging patches, especially as these changes really have nothing to do with
delayed logging. The cleanups and factoring patches should be no-ops from a
functionality point of view.
A couple of the patches are fixes for bugs that I've found as I've been working
through delayed logging prototypes.
The final two patches introduce a new log vector structure and factor
xlog_write(). This is probably the most complex of the changes - it should be a
no-op - so needs the most scrutiny. It's also one of the first changes I made -
it's been running through QA for the past month and a half so I think it is
all OK. I certainly found the factored code far easier to work with when it
came to debugging problems...