Abstract out the routines which manipulate the mountlist.
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 19 Apr 2005 17:54:52 +0000 (17:54 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 19 Apr 2005 17:54:52 +0000 (17:54 +0000)
commit861905fb32e4bfbd9cef4b29be5d4fe595c8b74c
tree5f77f0a5ac35b337bb99a92a56110decd2b1639f
parent4ac34bb7b7ff01ef61ed67e0486dcdf94e5350b9
Abstract out the routines which manipulate the mountlist.

Introduce an MP-safe mountlist scanning function.  This function keeps track
of scans which are in-progress and properly handles ripouts that occur during
the callback by advancing the matching pointers being tracked.  The callback
can safely block without confusing the scan.

This algorithm has already been successfully used for the buffer cache and
will soon be used for the vnode lists hanging off the mount point.
17 files changed:
sys/kern/init_main.c
sys/kern/kern_shutdown.c
sys/kern/vfs_cache.c
sys/kern/vfs_conf.c
sys/kern/vfs_mount.c
sys/kern/vfs_nlookup.c
sys/kern/vfs_subr.c
sys/kern/vfs_sync.c
sys/kern/vfs_syscalls.c
sys/sys/mount.h
sys/vfs/coda/coda_vfsops.c
sys/vfs/gnu/ext2fs/ext2_vfsops.c
sys/vfs/nfs/nfs_nqlease.c
sys/vfs/ntfs/ntfs_vfsops.c
sys/vfs/ufs/ffs_softdep.c
sys/vfs/ufs/ufs_vfsops.c
sys/vfs/union/union_vnops.c