Since the introduction of the CIL we already have a layer of indirection
between the physical log format and the data structure tracking the
changes in memory. But due to the way iop_format works we are still
forced to keep a copy of everything that goes out to the log in memory
even before copying it into the CIL.
The first patch in this series changes iop_format so that the log items
are free to store their in-memory data however they want before formatting
them into the CIL, and the other patches take advantage of that by not
keeping most log formats in memory all the time. Especially the EFI and
EFD related ones at the end start to show the benefit.
What's missing from this series are larger changes to the in-core inode
layout. No needing the full struct icdinode at all times will be the
biggest benefit of this change, but it will be large enough series of it's
Changes from V1:
- split into more patches
- added the xlog_copy_iovec helper