cvs commit: src/sys/kern vfs_subr.c
Jeff Roberson
jroberson at chesapeake.net
Sat Oct 4 17:51:18 PDT 2003
This is probably the last of it for a little while. I have some other
locked bits in my tree, but I'm not quite ready to commit them yet. What
I've been working on is locking the lists that don't use v_usecount to
protect them. This includes the free list, spec hash, syncer list, mnt
vnode list, and the name cache.
The actual datastructures are all protected, but they almost all have
races with vnode recycling and forced unmounts.
On Sat, 4 Oct 2003, Jeff Roberson wrote:
> jeff 2003/10/04 17:35:41 PDT
>
> FreeBSD src repository
>
> Modified files:
> sys/kern vfs_subr.c
> Log:
> - Solve a LOR with the sync_mtx by using the VI_ONWORKLST flag to determine
> whether or not the sync failed. This could potentially get set between
> the time that we VOP_UNLOCK and VI_LOCK() but the race would harmelssly
> lead to the sync being delayed by an extra 30 seconds. If we do not move
> the vnode it could cause an endless loop if it continues to fail to sync.
> - Use vhold and vdrop to stop the vnode from changing identities while we
> have it unlocked. Other internal vfs lists are likely to follow this
> scheme.
>
> Revision Changes Path
> 1.462 +12 -6 src/sys/kern/vfs_subr.c
>
More information about the cvs-src
mailing list