diff options
author | jeff <jeff@FreeBSD.org> | 2005-04-30 11:27:31 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-04-30 11:27:31 +0000 |
commit | 32c015f463a174262188ab31a150d996b43343da (patch) | |
tree | efa4c591ca3b0db2beff0cf7a33c51f922e1620d /sys/kern | |
parent | f9172cb2757b7ce1f156b21a8c7681695c48b9fd (diff) | |
download | FreeBSD-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.c | 2 |
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 */ |