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>