git: kernel - Add dirty vnode management facility

Matthew Dillon dillon at
Tue Apr 17 23:38:30 PDT 2018

commit 55a5a1ba587bcf642c0eb777e49521c6b2e69858
Author: Matthew Dillon <dillon at>
Date:   Tue Apr 17 23:06:18 2018 -0700

    kernel - Add dirty vnode management facility
    * Keep track of how many vnodes are queued to the syncer, which
      is basically the number of dirty vnodes.  The syncer vnode is
      included so the idle count is usually 1 and not 0.
    * vn_syncer_count() returns the count.
    * vn_syncer_one() attempts to fsync the next dirty vnode immediately,
      if it can acquire it non-blocking.  The special syncer vnode is
      ignored.  On failure the vnode will be requeued for 1 second,
      so this routine can be cycled.

Summary of changes:
 sys/kern/vfs_sync.c | 115 ++++++++++++++++++++++++++++++++++++++++------------
 sys/sys/vnode.h     |   2 +
 2 files changed, 90 insertions(+), 27 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list