Date: Wed, 12 Mar 2003 23:19:23 -0800 (PST) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_bio.c vfs_default.c vfs_subr.c src/sys/ufs/ffs ffs_vnops.c Message-ID: <200303130719.h2D7JN4c002411@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2003/03/12 23:19:23 PST
FreeBSD src repository
Modified files:
sys/kern vfs_bio.c vfs_default.c vfs_subr.c
sys/ufs/ffs ffs_vnops.c
Log:
- Remove a race between fsync like functions and flushbufqueues() by
requiring locked bufs in vfs_bio_awrite(). Previously the buf could
have been written out by fsync before we acquired the buf lock if it
weren't for giant. The cluster_wbuild() handles this race properly but
the single write at the end of vfs_bio_awrite() would not.
- Modify flushbufqueues() so there is only one copy of the loop. Pass a
parameter in that says whether or not we should sync bufs with deps.
- Call flushbufqueues() a second time and then break if we couldn't find
any bufs without deps.
Revision Changes Path
1.377 +32 -44 src/sys/kern/vfs_bio.c
1.79 +0 -1 src/sys/kern/vfs_default.c
1.436 +0 -1 src/sys/kern/vfs_subr.c
1.106 +2 -4 src/sys/ufs/ffs/ffs_vnops.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303130719.h2D7JN4c002411>
