]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix a race between the syncer and umount. When you umount a softupdates
authordillon <dillon@FreeBSD.org>
Tue, 30 Jan 2001 06:31:59 +0000 (06:31 +0000)
committerdillon <dillon@FreeBSD.org>
Tue, 30 Jan 2001 06:31:59 +0000 (06:31 +0000)
commit1f3366270d709f6f608ce684f27e9cc90f9ca538
tree7a7339aaaf69fa32ada71ac019b63ac050063afb
parentadb7fe8db78dbc2ae7051e4f9e1af2ad54e7b65d
Fix a race between the syncer and umount.  When you umount a softupdates
filesystem softdep_process_worklist() is called in a loop until it indicates
that no dependancies remain, but the determination of that fact depends on
there only being one softdep_process_worklist() instance running.  It was
possible for the syncer to also be running softdep_process_worklist()
and the pre-existing checks in the code to prevent this were not sufficient
to prevent the race.  This patch solves the problem.

Approved-by: mckusick
sys/ufs/ffs/ffs_softdep.c