freebsd-skq/sys/fs/nfsclient
rmacklem f24ecdf104 For software builds, the NFS client does many small
synchronous (with FILE_SYNC) writes because non-contiguous
byte ranges in the same buffer cache block are being
written. This patch adds a new mount option "noncontigwr"
which allows the non-contiguous byte ranges to be combined,
with the dirty byte range becoming the superset of the bytes
that are dirty, if the file has not been file locked.
This reduces the number of writes significantly for software
builds. The only case where this change might break existing
applications is where an application is writing
non-overlapping byte ranges within the same buffer cache block
of a file from multiple clients concurrently.
Since such an application would normally do file locking on
the file, avoiding the byte range merge for files that have
been file locked should be sufficient for most (maybe all?) cases.

Submitted by:	jhb (earlier version)
Reviewed by:	kib
MFC after:	3 weeks
2013-12-07 23:05:59 +00:00
..
nfs_clbio.c For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nfs_clcomsubs.c Fix an NFSv4.1 client specific case where a forced dismount would hang. 2013-11-09 21:24:56 +00:00
nfs_clkdtrace.c Fix build. 2013-11-26 10:34:34 +00:00
nfs_clkrpc.c Crashes have been observed for NFSv4.1 mounts when the system 2013-09-04 22:47:56 +00:00
nfs_clnfsiod.c When an NFS unmount occurs, once vflush() writes the last dirty 2013-04-18 23:20:16 +00:00
nfs_clnode.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfs_clport.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfs_clrpcops.c Be conservative and do not try to consume more bytes than was 2013-01-27 09:34:25 +00:00
nfs_clstate.c Fix r252074 so that it builds on 64bit arches. 2013-06-22 21:58:21 +00:00
nfs_clsubs.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfs_clvfsops.c For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nfs_clvnops.c For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nfs_kdtrace.h - Nuke a second copy of nfscl_attrcache extern declarations from under 2013-11-26 22:41:40 +00:00
nfs.h Modify the experimental (newnfs) NFS client so that it uses the 2011-04-25 23:12:18 +00:00
nfsmount.h Move the NFSv4.1 client patches over from projects/nfsv4.1-client 2012-12-08 22:52:39 +00:00
nfsnode.h For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nlminfo.h