diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 2005-02-07 10:04:06 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2005-02-07 10:04:06 +0000 |
commit | b9489a449c679f259092288b966c470ff7eaee92 (patch) | |
tree | 268b0bd806d32c356f1dec933f6c07994303a7fe | |
parent | 7ee4eb6192cf941878853e7f0dc60f51a39ca33a (diff) | |
download | src-b9489a449c679f259092288b966c470ff7eaee92.tar.gz src-b9489a449c679f259092288b966c470ff7eaee92.zip |
Access vmobject via the bufobj instead of the vnode
Notes
Notes:
svn path=/head/; revision=141450
-rw-r--r-- | sys/kern/vfs_subr.c | 22 |
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 |