From c7f52620e0472c6eb0a97ab7a22490eb90900607 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Wed, 23 May 2001 22:20:29 +0000 Subject: [PATCH] Don't acquire/release Giant around some of the places that need it in spec_getpages(). Instead, assert that Giant is held by the caller. --- sys/fs/specfs/spec_vnops.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index ba812293e4ac..5ed07c0a98d5 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -660,6 +660,7 @@ spec_getpages(ap) int blksiz; int gotreqpage; + mtx_assert(&Giant, MA_OWNED); error = 0; pcount = round_page(ap->a_count) / PAGE_SIZE; @@ -732,7 +733,6 @@ spec_getpages(ap) cnt.v_vnodepgsin += pcount; mtx_unlock(&vm_mtx); - mtx_lock(&Giant); /* Do the input. */ BUF_STRATEGY(bp); @@ -743,7 +743,6 @@ spec_getpages(ap) tsleep(bp, PVM, "spread", 0); splx(s); - mtx_unlock(&Giant); mtx_lock(&vm_mtx); if ((bp->b_ioflags & BIO_ERROR) != 0) {