diff options
Diffstat (limited to 'sys/fs/specfs/spec_vnops.c')
-rw-r--r-- | sys/fs/specfs/spec_vnops.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index 2940f404b779..ba812293e4ac 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -731,6 +731,8 @@ spec_getpages(ap) cnt.v_vnodein++; cnt.v_vnodepgsin += pcount; + mtx_unlock(&vm_mtx); + mtx_lock(&Giant); /* Do the input. */ BUF_STRATEGY(bp); @@ -741,6 +743,8 @@ spec_getpages(ap) tsleep(bp, PVM, "spread", 0); splx(s); + mtx_unlock(&Giant); + mtx_lock(&vm_mtx); if ((bp->b_ioflags & BIO_ERROR) != 0) { if (bp->b_error) |