Hi Andrew, these are the non-NFS-specific parts of the swap-over-NFS series that I've posted a few times. I've address all comments, most recently style improvements in mm/swap.h. Would it be possible for these to land in the next merge window? Thanks, NeilBrown --- NeilBrown (10): MM: create new mm/swap.h header file. MM: drop swap_set_page_dirty MM: move responsibility for setting SWP_FS_OPS to ->swap_activate MM: reclaim mustn't enter FS for SWP_FS_OPS swap-space MM: introduce ->swap_rw and use it for reads from SWP_FS_OPS swap-space MM: perform async writes to SWP_FS_OPS swap-space using ->swap_rw DOC: update documentation for swap_activate and swap_rw MM: submit multipage reads for SWP_FS_OPS swap-space MM: submit multipage write for SWP_FS_OPS swap-space VFS: Add FMODE_CAN_ODIRECT file flag Documentation/filesystems/locking.rst | 18 +- Documentation/filesystems/vfs.rst | 17 +- drivers/block/loop.c | 4 +- fs/cifs/file.c | 7 +- fs/fcntl.c | 9 +- fs/nfs/file.c | 20 ++- fs/open.c | 9 +- fs/overlayfs/file.c | 13 +- include/linux/fs.h | 4 + include/linux/swap.h | 7 +- include/linux/writeback.h | 7 + mm/madvise.c | 8 +- mm/memory.c | 2 +- mm/page_io.c | 244 ++++++++++++++++++++------ mm/swap.h | 30 +++- mm/swap_state.c | 22 ++- mm/swapfile.c | 13 +- mm/vmscan.c | 38 ++-- 18 files changed, 347 insertions(+), 125 deletions(-) -- Signature