diff options
| author | reinoud <reinoud@NetBSD.org> | 2008-06-17 14:53:10 +0000 |
|---|---|---|
| committer | reinoud <reinoud@NetBSD.org> | 2008-06-17 14:53:10 +0000 |
| commit | f6a70673bad0abc8d7e9407f9e3b68cb2be3fa28 (patch) | |
| tree | 9774efc6ee641e880a6dc04b9c8b866c34372732 /sys/dev/ata | |
| parent | a61f3416a64f2aa4024dfe3485b7461ff5d0a3d3 (diff) | |
Mark a buffer `busy` in getnewbuf() when it came from the pool_cache since
its not on a free list.
Also change buf_init() to not automatically mark buffers `busy' since this
only makes sense for bufcache buffers.
Mark all buf_init'd buffers 'busy' on the places where they ought to be
flagged as such to not confuse the buffer cache.
Fixes PR 38923.
Diffstat (limited to 'sys/dev/ata')
| -rw-r--r-- | sys/dev/ata/ata_raid.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ata/ata_raid.c b/sys/dev/ata/ata_raid.c index 54e8b990cac..5a876bb1b73 100644 --- a/sys/dev/ata/ata_raid.c +++ b/sys/dev/ata/ata_raid.c @@ -1,4 +1,4 @@ -/* $NetBSD: ata_raid.c,v 1.28 2008/05/06 11:07:24 yamt Exp $ */ +/* $NetBSD: ata_raid.c,v 1.29 2008/06/17 14:53:10 reinoud Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ata_raid.c,v 1.28 2008/05/06 11:07:24 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ata_raid.c,v 1.29 2008/06/17 14:53:10 reinoud Exp $"); #include <sys/param.h> #include <sys/buf.h> @@ -300,6 +300,7 @@ ata_raid_config_block_rw(struct vnode *vp, daddr_t blkno, void *tbuf, bp->b_flags = bflags; bp->b_proc = curproc; bp->b_data = tbuf; + SET(bp->b_cflags, BC_BUSY); /* mark buffer busy */ VOP_STRATEGY(vp, bp); error = biowait(bp); |
