Hi all, this series started out based on a review of the btrfs iomap series from Goldwyn. I've taken his main srcmap patch and modified it a bit based on my experience of converting xfs over to use the feature. That led to comments that the xfs code is a mess, so I resurrected an old series to clean that up and merged it in. That series also happens to massively clean up the unshare path in the iomap and xfs code as well. The series is on top of the move of the xfs writeback code to iomap. Changes since v1: - renumber IOMAP_HOLE to 0 and avoid the reserved 0 value - fix minor typos and update comments