Changes for 4.19:
- iomap: support inline data, page done callbacks, and partial dio
  writes to support gfs2
- iomap: add library functions for page cache reads and writes in
  preparation to remove buffer heads from xfs.
- Use extent maps to track pagecache page status instead of bufferhead
  state.
- Refactor pagecache read and write paths to use the new iomap library
  functions, which enable us to drop the old bufferhead code for
  pagesize == blocksize filesystems.
- Set up parallel per-block-per-page metadata to track subpage
  information that was tracked by buffer heads, which enables us to drop
  the old bufferhead code for pagesize > blocksize filesystems.
- Tie a deferred ops control structure to a transaction so that we can
  take advantage of an upper-level dfops without having to plumb pointer
  passing through the code.
- Refactor the deferred ops code to track deferred ops as part of the
  transaction structure (instead of as a separate data structure) so
  that we can simplify the scoping rules around defer_ops.
- Refactor twisty delwri buffer submission code to avoid deadlocks.
- Shorten and fix indenting problems in the scrub code.
- Detect obviously bad summary counts at mount and fix them.
- Various fixes and cleanups.
xfs: force summary counter recalc at next mount

Use the "bad summary count" mount flag from the previous patch to skip
writing the unmount record to force log recovery at the next mount,
which will recalculate the summary counters for us.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
5 files changed