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.