aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2005-02-07 10:04:06 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2005-02-07 10:04:06 +0000
commitb9489a449c679f259092288b966c470ff7eaee92 (patch)
tree268b0bd806d32c356f1dec933f6c07994303a7fe /sys
parent7ee4eb6192cf941878853e7f0dc60f51a39ca33a (diff)
downloadsrc-b9489a449c679f259092288b966c470ff7eaee92.tar.gz
src-b9489a449c679f259092288b966c470ff7eaee92.zip
Access vmobject via the bufobj instead of the vnode
Notes
Notes: svn path=/head/; revision=141450
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/vfs_subr.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index c721ae236ced..d0dd62aaa781 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -979,24 +979,24 @@ vinvalbuf(vp, flags, td, slpflag, slptimeo)
*/
do {
bufobj_wwait(bo, 0, 0);
- VI_UNLOCK(vp);
- if (vp->v_object != NULL) {
- VM_OBJECT_LOCK(vp->v_object);
- vm_object_pip_wait(vp->v_object, "vnvlbx");
- VM_OBJECT_UNLOCK(vp->v_object);
+ BO_UNLOCK(bo);
+ if (bo->bo_object != NULL) {
+ VM_OBJECT_LOCK(bo->bo_object);
+ vm_object_pip_wait(bo->bo_object, "vnvlbx");
+ VM_OBJECT_UNLOCK(bo->bo_object);
}
- VI_LOCK(vp);
+ BO_LOCK(bo);
} while (bo->bo_numoutput > 0);
- VI_UNLOCK(vp);
+ BO_UNLOCK(bo);
/*
* Destroy the copy in the VM cache, too.
*/
- if (vp->v_object != NULL) {
- VM_OBJECT_LOCK(vp->v_object);
- vm_object_page_remove(vp->v_object, 0, 0,
+ if (bo->bo_object != NULL) {
+ VM_OBJECT_LOCK(bo->bo_object);
+ vm_object_page_remove(bo->bo_object, 0, 0,
(flags & V_SAVE) ? TRUE : FALSE);
- VM_OBJECT_UNLOCK(vp->v_object);
+ VM_OBJECT_UNLOCK(bo->bo_object);
}
#ifdef INVARIANTS