aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2005-01-25 00:40:01 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2005-01-25 00:40:01 +0000
commit8516dd18e1380699ae90775760436483bfda23a2 (patch)
tree036fb28e1de0abf406a1218cb941bcb38aa5d9fc /sys/kern/vfs_subr.c
parent69816ea35e4d1b72b19a41a8a76ccc501a4a8a22 (diff)
downloadsrc-8516dd18e1380699ae90775760436483bfda23a2.tar.gz
src-8516dd18e1380699ae90775760436483bfda23a2.zip
Don't use VOP_GETVOBJECT, use vp->v_object directly.
Notes
Notes: svn path=/head/; revision=140782
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 24dc46838b81..230d980c75aa 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -672,7 +672,8 @@ vtryrecycle(struct vnode *vp)
/*
* Don't recycle if we still have cached pages.
*/
- if (VOP_GETVOBJECT(vp, &object) == 0) {
+ object = vp->v_object;
+ if (object != NULL) {
VM_OBJECT_LOCK(object);
if (object->resident_page_count ||
object->ref_count) {
@@ -930,7 +931,6 @@ vinvalbuf(vp, flags, td, slpflag, slptimeo)
int slpflag, slptimeo;
{
int error;
- vm_object_t object;
struct bufobj *bo;
ASSERT_VOP_LOCKED(vp, "vinvalbuf");
@@ -981,10 +981,10 @@ vinvalbuf(vp, flags, td, slpflag, slptimeo)
do {
bufobj_wwait(bo, 0, 0);
VI_UNLOCK(vp);
- if (VOP_GETVOBJECT(vp, &object) == 0) {
- VM_OBJECT_LOCK(object);
- vm_object_pip_wait(object, "vnvlbx");
- VM_OBJECT_UNLOCK(object);
+ 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);
}
VI_LOCK(vp);
} while (bo->bo_numoutput > 0);
@@ -993,11 +993,11 @@ vinvalbuf(vp, flags, td, slpflag, slptimeo)
/*
* Destroy the copy in the VM cache, too.
*/
- if (VOP_GETVOBJECT(vp, &object) == 0) {
- VM_OBJECT_LOCK(object);
- vm_object_page_remove(object, 0, 0,
+ if (vp->v_object != NULL) {
+ VM_OBJECT_LOCK(vp->v_object);
+ vm_object_page_remove(vp->v_object, 0, 0,
(flags & V_SAVE) ? TRUE : FALSE);
- VM_OBJECT_UNLOCK(object);
+ VM_OBJECT_UNLOCK(vp->v_object);
}
#ifdef INVARIANTS
@@ -2825,7 +2825,8 @@ loop:
continue;
}
- if (VOP_GETVOBJECT(vp, &obj) == 0) {
+ obj = vp->v_object;
+ if (obj != NULL) {
VM_OBJECT_LOCK(obj);
vm_object_page_clean(obj, 0, 0,
flags == MNT_WAIT ?