Hi all, this series contains the iomap prep work to support zoned XFS. The biggest changes are: - an option to reuse the ioend code for direct writes in addition to the current use for buffered writeback, which allows the file system to track completions on a per-bio basis instead of the current end_io callback which operates on the entire I/O. Note that it might make sense to split the ioend code from buffered-io.c into its own file with this. Let me know what you think of that and I can include it in the next version - change of the writeback_ops so that the submit_bio call can be done by the file system. Note that btrfs will also need this eventually when it starts using iomap - helpers to split ioend to the zone append queue_limits that plug into the previous item above. - a bunch of changes for slightly different merge conditions when using zone append. Note that btrfs wants something similar also for compressed I/O, which might be able to share some code. For now the flags use zone append naming, but we can change that if it gets used elsewhere. - passing private data to a few more helper The XFS changes to use this will be posted to the xfs list only to not spam fsdevel too much.