summaryrefslogtreecommitdiffstats
path: root/sys/vm/vnode_pager.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-06-13 03:02:28 +0000
committeralc <alc@FreeBSD.org>2003-06-13 03:02:28 +0000
commitd66a37a0f2941403e0d02a5cb82f14bdb07338cc (patch)
tree131300009b7d968e4f3ac335ab6af00d92af89ef /sys/vm/vnode_pager.c
parentf7366986b75e25cef2a0167fe951b8ee613d671a (diff)
downloadFreeBSD-src-d66a37a0f2941403e0d02a5cb82f14bdb07338cc.zip
FreeBSD-src-d66a37a0f2941403e0d02a5cb82f14bdb07338cc.tar.gz
Add vm object locking to various pagers' "get pages" methods, i386 stack
management functions, and a u area management function.
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r--sys/vm/vnode_pager.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index a6869b0..993725d 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -623,11 +623,12 @@ vnode_pager_getpages(object, m, count, reqpage)
struct vnode *vp;
int bytes = count * PAGE_SIZE;
- GIANT_REQUIRED;
vp = object->handle;
+ VM_OBJECT_UNLOCK(object);
rtval = VOP_GETPAGES(vp, m, bytes, reqpage, 0);
KASSERT(rtval != EOPNOTSUPP,
("vnode_pager: FS getpages not implemented\n"));
+ VM_OBJECT_LOCK(object);
return rtval;
}
OpenPOWER on IntegriCloud