From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> The following patch series sets up a new mount option 'writes=lazy/eager/wait'. The mount option basically controls how the write() system call works. - writes=lazy is the default, and keeps the current behaviour - writes=eager means we send off the write immediately as an unstable write to the server. - writes=wait means we send off the write as an unstable write, and then wait for the reply. The main motivator for this behaviour is that some applications expect write() to return ENOSPC. Setting writes=wait should satisfy those applications without taking the full overhead of a synchronous write. writes=eager, on the other hand, can be useful for applications such as re-exporting NFS, since it would allow knfsd on the proxying server to immediately forward the writes to the original server. Trond Myklebust (3): NFS: 'flags' field should be unsigned in struct nfs_server NFS: Add support for eager writes NFS: Add mount options supporting eager writes fs/nfs/file.c | 19 +++++++++++++++++-- fs/nfs/fs_context.c | 33 +++++++++++++++++++++++++++++++++ fs/nfs/write.c | 17 ++++++++++++----- include/linux/nfs_fs_sb.h | 4 +++- 4 files changed, 65 insertions(+), 8 deletions(-) -- 2.29.2