freebsd-dev/sys/fs
Rick Macklem cf766161ff 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
..
cd9660 NULL stale pointers (should be a no-op as they should no longer be 2013-09-25 02:49:18 +00:00
deadfs The deadfs VOPs for vop_ioctl and vop_bmap call itself recursively, 2012-09-13 13:05:45 +00:00
devfs Similar to debug.iosize_max_clamp sysctl, introduce 2013-10-15 06:33:10 +00:00
ext2fs ext2fs: add two new reserved inodes. 2013-12-04 02:27:52 +00:00
fdescfs Handle cases where capability rights are not provided. 2013-09-05 11:58:12 +00:00
fifofs I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
fuse Change the cap_rights_t type from uint64_t to a structure that we can extend 2013-09-05 00:09:56 +00:00
msdosfs Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
nandfs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nfs - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfsclient For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nfsserver Change the cap_rights_t type from uint64_t to a structure that we can extend 2013-09-05 00:09:56 +00:00
nullfs Fix the length calculation for the final block of a sendfile(2) 2013-09-10 10:05:59 +00:00
procfs Relax the vm object locking. Use a read lock. 2013-06-05 17:00:10 +00:00
pseudofs Redo r258088 to avoid relying on signed arithmetic overflow, since 2013-11-20 19:41:00 +00:00
smbfs Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
tmpfs Support storing 7 additional file flags in tmpfs: 2013-08-28 22:12:56 +00:00
udf Add currently unused flag argument to the cluster_read(), 2013-03-14 20:28:26 +00:00
unionfs r16312 is not any longer real since many years (likely since when VFS 2012-11-19 22:43:45 +00:00