Date: Thu, 12 Aug 2010 08:36:23 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/kern vfs_bio.c vfs_subr.c Message-ID: <201008120836.o7C8agJh003695@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2010-08-12 08:36:23 UTC
FreeBSD src repository
Modified files:
sys/kern vfs_bio.c vfs_subr.c
Log:
SVN rev 211213 on 2010-08-12 08:36:23Z by kib
The buffers b_vflags field is not always properly protected by
bufobj lock. If b_bufobj is not NULL, then bufobj lock should be
held when manipulating the flags. Not doing this sometimes leaves
BV_BKGRDINPROG to be erronously set, causing softdep' getdirtybuf() to
stuck indefinitely in "getbuf" sleep, waiting for background write to
finish which is not actually performed.
Add BO_LOCK() in the cases where it was missed.
In collaboration with: pho
Tested by: bz
Reviewed by: jeff
MFC after: 1 month
Revision Changes Path
1.594 +49 -4 src/sys/kern/vfs_bio.c
1.789 +10 -0 src/sys/kern/vfs_subr.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008120836.o7C8agJh003695>
