commit 70ea68f2c6503c5dc060b707abe1a06e35568dc0 Author: Matthew Dillon <dil...@apollo.backplane.com> Date: Wed Dec 5 10:19:31 2018 -0800
hammer2 - refactor filesystem sync 7/N * Increase default caps for dirty chain and dirty inode counts. The new SYNCQ semantics allow this number to be arbitrarily large, but it is still a good idea not to allow it to get out of control. NOTE: One advantage of higher caps is that it gives the frontend more time to delete temporary files. * Get rid of the old syncer speedup / write moderation mechanisms. Replace with a new VFS_MODIFYING() hook that allows the filesystem to implement moderation prior to any vnode locks being held. Remove hammer2_pfs_memory_wait() calls from VOP bodies, implement the hammer2_pfs_memory_wait() call via VFS_MODIFYING() instead. * Move the moderation wakeup for the inode count to the syncer, and change the parameter to use pmp->sideq_count. Summary of changes: sys/vfs/hammer2/hammer2.h | 14 ++-- sys/vfs/hammer2/hammer2_cluster.c | 20 +----- sys/vfs/hammer2/hammer2_flush.c | 2 + sys/vfs/hammer2/hammer2_inode.c | 22 ++---- sys/vfs/hammer2/hammer2_ioctl.c | 4 +- sys/vfs/hammer2/hammer2_vfsops.c | 144 ++++++++++++++++---------------------- sys/vfs/hammer2/hammer2_vnops.c | 20 +++--- 7 files changed, 91 insertions(+), 135 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/70ea68f2c6503c5dc060b707abe1a06e35568dc0 -- DragonFly BSD source repository