diff options
author | jhb <jhb@FreeBSD.org> | 2001-05-23 22:20:29 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-05-23 22:20:29 +0000 |
commit | 67d46f1c415f4618839806e3c337883604fe11f7 (patch) | |
tree | c9a3324189de0c97601d7fc91a5c677b06a229a6 | |
parent | 7703731a608dec5bf446963fe67ed992c5b10054 (diff) | |
download | FreeBSD-src-67d46f1c415f4618839806e3c337883604fe11f7.zip FreeBSD-src-67d46f1c415f4618839806e3c337883604fe11f7.tar.gz |
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.
-rw-r--r-- | sys/fs/specfs/spec_vnops.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index ba81229..5ed07c0 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) { |