mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-30 02:12:45 +00:00
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.
This commit is contained in:
parent
e4ca250d4b
commit
c7f52620e0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=77084
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user