This is the fourth version of a patch series which adds a number of features to improve read/write performance in the 9p filesystem. Mostly it focuses on fixing caching to help utilize the recently increased MSIZE limits and also fixes some problematic behavior within the writeback code. All together, these show roughly 10x speed increases on simple file transfers over no caching for readahead mode. Future patch sets will improve cache consistency and directory caching, which should benefit loose mode. This iteration of the patch incorporates an important fix for writeback which uses a stronger mechanism to flush writeback on close of files and addresses observed bugs in previous versions of the patch for writeback, mmap, and loose cache modes. These patches are also available on github: https://github.com/v9fs/linux/tree/ericvh/for-next and on kernel.org: https://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git Tested against qemu, cpu, and diod with fsx, dbench, and postmark in every caching mode. I'm gonna definitely submit the first couple patches as they are fairly harmless - but would like to submit the whole series to the upcoming merge window. Would appreciate reviews. Eric Van Hensbergen (11): net/9p: Adjust maximum MSIZE to account for p9 header fs/9p: Expand setup of writeback cache to all levels fs/9p: Consolidate file operations and add readahead and writeback fs/9p: Remove unnecessary superblock flags fs/9p: allow disable of xattr support on mount net/9p: fix bug in client create for .L 9p: Add additional debug flags and open modes fs/9p: Add new mount modes fs/9p: fix error reporting in v9fs_dir_release fs/9p: writeback mode fixes fs/9p: Fix revalidate Documentation/filesystems/9p.rst | 26 ++-- fs/9p/fid.c | 49 +++----- fs/9p/fid.h | 33 ++++- fs/9p/v9fs.c | 49 +++++--- fs/9p/v9fs.h | 10 +- fs/9p/v9fs_vfs.h | 4 - fs/9p/vfs_addr.c | 24 ++-- fs/9p/vfs_dentry.c | 3 +- fs/9p/vfs_dir.c | 10 +- fs/9p/vfs_file.c | 205 +++++++------------------------ fs/9p/vfs_inode.c | 102 +++++++-------- fs/9p/vfs_inode_dotl.c | 69 ++++++----- fs/9p/vfs_super.c | 28 +++-- include/net/9p/9p.h | 5 + net/9p/client.c | 8 +- 15 files changed, 284 insertions(+), 341 deletions(-) -- 2.37.2