summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-09-17 05:03:27 +0000
committerdillon <dillon@FreeBSD.org>1999-09-17 05:03:27 +0000
commit6c2a557edd099560a5d4a4c3cb01ca87f8ff1a87 (patch)
tree1cdd500a51d81f429cc0cdca8bc9baae584b6382 /sys
parent4cb1921c9b97c10844176bdd697e070b4af7e717 (diff)
downloadFreeBSD-src-6c2a557edd099560a5d4a4c3cb01ca87f8ff1a87.zip
FreeBSD-src-6c2a557edd099560a5d4a4c3cb01ca87f8ff1a87.tar.gz
Add required BUF_KERNPROC to flushchainbuf() to disassociate the
current process from the exclusive lock prior to initiating I/O. This fixes a panic related to swap-backed VN disks Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vm_pager.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c
index 70452ed..a9e1c7e 100644
--- a/sys/vm/vm_pager.c
+++ b/sys/vm/vm_pager.c
@@ -566,6 +566,7 @@ flushchainbuf(struct buf *nbp)
nbp->b_bufsize = nbp->b_bcount;
if ((nbp->b_flags & B_READ) == 0)
nbp->b_dirtyend = nbp->b_bcount;
+ BUF_KERNPROC(nbp);
VOP_STRATEGY(nbp->b_vp, nbp);
} else {
biodone(nbp);
OpenPOWER on IntegriCloud