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