git: kernel - Add dirty vnode management facility

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Apr 17 23:38:30 PDT 2018


commit 55a5a1ba587bcf642c0eb777e49521c6b2e69858
Author: Matthew Dillon <dillon at apollo.backplane.com>
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(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/55a5a1ba587bcf642c0eb777e49521c6b2e69858


-- 
DragonFly BSD source repository



More information about the Commits mailing list