summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-04-30 11:27:31 +0000
committerjeff <jeff@FreeBSD.org>2005-04-30 11:27:31 +0000
commit32c015f463a174262188ab31a150d996b43343da (patch)
treeefa4c591ca3b0db2beff0cf7a33c51f922e1620d /sys/kern
parentf9172cb2757b7ce1f156b21a8c7681695c48b9fd (diff)
downloadFreeBSD-src-32c015f463a174262188ab31a150d996b43343da.zip
FreeBSD-src-32c015f463a174262188ab31a150d996b43343da.tar.gz
- Acquire Giant in AIO's iodone routine. VFS will no longer do it for us
soon. Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_aio.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c
index 528a8ce..4682d26 100644
--- a/sys/kern/vfs_aio.c
+++ b/sys/kern/vfs_aio.c
@@ -2149,6 +2149,7 @@ aio_physwakeup(struct buf *bp)
struct kaioinfo *ki;
struct aio_liojob *lj;
+ mtx_lock(&Giant);
wakeup(bp);
aiocbe = (struct aiocblist *)bp->b_caller1;
@@ -2205,6 +2206,7 @@ aio_physwakeup(struct buf *bp)
aiocbe->timeouthandle =
timeout(process_signal, aiocbe, 0);
}
+ mtx_unlock(&Giant);
}
/* syscall - wait for the next completion of an aio request */
OpenPOWER on IntegriCloud