summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-09-13 03:15:45 +0000
committerdyson <dyson@FreeBSD.org>1996-09-13 03:15:45 +0000
commit22eb6874d51b93a4f537860353d62100e5e38b82 (patch)
treefc099f7d977d7ffa7d98aa2ce2f0ff81bdc8731e
parent5aedb845c9fb119e168d159cd77c68bd790984ee (diff)
downloadFreeBSD-src-22eb6874d51b93a4f537860353d62100e5e38b82.zip
FreeBSD-src-22eb6874d51b93a4f537860353d62100e5e38b82.tar.gz
A modification that allows the driver strategy to modify the
B_ASYNC flag broke things pretty bad (freeing buffer already on queue or other wierd buffer queue errors.) The broken code is left in commented out, but this makes the problem go away for now.
-rw-r--r--sys/kern/vfs_bio.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 98f5b5e..ed48a00 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -18,7 +18,7 @@
* 5. Modifications may be freely made to this file if the above conditions
* are met.
*
- * $Id: vfs_bio.c,v 1.97 1996/09/06 05:37:53 gibbs Exp $
+ * $Id: vfs_bio.c,v 1.98 1996/09/08 20:44:20 dyson Exp $
*/
/*
@@ -313,7 +313,8 @@ bwrite(struct buf * bp)
curproc->p_stats->p_ru.ru_oublock++;
VOP_STRATEGY(bp);
- if ((bp->b_flags & B_ASYNC) == 0) {
+ /* if ((bp->b_flags & B_ASYNC) == 0) { */
+ if ((oldflags & B_ASYNC) == 0) {
int rtval = biowait(bp);
if (oldflags & B_DELWRI) {
OpenPOWER on IntegriCloud