Merge branch 'pipe-rework' (patches from David Howells)