iomap infrastructure and multipage writes V2

Christoph Hellwig
2016-04-12T20:53:24Z

This series add a new file system I/O path that uses the iomap structure
introduced for the pNFS support and support multi-page buffered writes.

This was first started by Dave Chinner a long time ago, then I did beat
it into shape for production runs in a very constrained ARM NAS
enviroment for Tuxera almost as long ago, and now half a dozen rewrites
later it's back.

The basic idea is to avoid the crazy per-block get_blocks overhead
and make use of extents in the buffered write path by iterating over
them instead.

Chances since V1:
- add support for fiemap
- fix a test fail on 1k block sizes
- prepare for 64-bit length, this will be used in a follow on patchset