git: hammer2 - refactor filesystem sync 7/N

Matthew Dillon dillon at
Wed Dec 5 14:29:28 PST 2018

commit d2a410239c107d0aeceaf0a17417e92b75be24ed
Author: Matthew Dillon <dillon at>
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(-)

DragonFly BSD source repository

More information about the Commits mailing list