diff options
| author | Alan Cox <alc@FreeBSD.org> | 2003-06-22 21:35:41 +0000 |
|---|---|---|
| committer | Alan Cox <alc@FreeBSD.org> | 2003-06-22 21:35:41 +0000 |
| commit | f29ba63ec91fe9ed9f731e690254bba1d38f0b78 (patch) | |
| tree | 35bfb2aa8b61e54802910fb4be459989a2516fbe /sys/vm/vnode_pager.c | |
| parent | 7144b1d4bd26552b6a24479f1e138b1eb1769bc5 (diff) | |
Notes
Diffstat (limited to 'sys/vm/vnode_pager.c')
| -rw-r--r-- | sys/vm/vnode_pager.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index bfc255d67ebf..69f4b421a6bc 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -214,7 +214,7 @@ vnode_pager_haspage(object, pindex, before, after) int bsize; int pagesperblock, blocksperpage; - GIANT_REQUIRED; + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); /* * If no vp or vp is doomed or marked transparent to VM, we do not * have the page. @@ -245,8 +245,10 @@ vnode_pager_haspage(object, pindex, before, after) blocksperpage = (PAGE_SIZE / bsize); reqblock = pindex * blocksperpage; } + VM_OBJECT_UNLOCK(object); err = VOP_BMAP(vp, reqblock, (struct vnode **) 0, &bn, after, before); + VM_OBJECT_LOCK(object); if (err) return TRUE; if (bn == -1) |
