cvs commit: src/sys/kern vfs_bio.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Nov 14 11:18:09 PST 2005
dillon 2005/11/14 11:14:05 PST
DragonFly src repository
Modified files:
sys/kern vfs_bio.c
Log:
Temporarily check for and correct a race in getnewbuf() that exists due
to the fact that lockmgr locks use tokens for their interlock. The use
of a token can cause the atomicy of the big giant lock to be temporarily
lost and wind up breaking the assumed atomicy of higher level operations that
believed themselves to be safe making lockmgr calls with the LK_NOWAIT flag.
The general problem will soon be fixed by changing the lockmgr interlock
from a token to one of Jeffrey Hsu's spin locks. Fortunately there are
only a few places left in DragonFly where LK_INTERLOCK is used.
Revision Changes Path
1.52 +10 -2 src/sys/kern/vfs_bio.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.51&r2=1.52&f=u
More information about the Commits
mailing list