git: hammer - Use new vsyncscan() mechanic.

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Oct 10 19:05:20 PDT 2013


commit 0d60b0abac21cd025f93dc7d2a61895e3cf4f2a2
Author: Matthew Dillon <dillon at backplane.com>
Date:   Thu Oct 10 19:02:24 2013 -0700

    hammer - Use new vsyncscan() mechanic.
    
    * Use the new vsyncscan() mechanic, greatly reducing the work involved
      in finding dirty vnodes in hammer_vfs_sync() and during unmounting.
      Call vsyncscan() instead of vmntvnodescan().
    
    * We set VISDIRTY in the vnode and call vn_syncer_add() when an inode
      becomes dirty.  This ensures that dirty vnodes are placed in the syncer
      list even if the vnode has no related dirty file data buffers.
    
      Previously we had to do a full scan of the mount's vnode list to
      find dirty inodes.

Summary of changes:
 sys/vfs/hammer/hammer.h        |  1 +
 sys/vfs/hammer/hammer_inode.c  | 27 ++++++++++++++++++++++++++-
 sys/vfs/hammer/hammer_ondisk.c | 34 ++++++++++------------------------
 sys/vfs/hammer/hammer_vnops.c  |  6 ++++++
 4 files changed, 43 insertions(+), 25 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0d60b0abac21cd025f93dc7d2a61895e3cf4f2a2


-- 
DragonFly BSD source repository



More information about the Commits mailing list