commit 0d60b0abac21cd025f93dc7d2a61895e3cf4f2a2
Author: Matthew Dillon <[email protected]>
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