diff options
| author | yamt <yamt@NetBSD.org> | 2006-10-14 09:20:35 +0000 |
|---|---|---|
| committer | yamt <yamt@NetBSD.org> | 2006-10-14 09:20:35 +0000 |
| commit | 61934cf2b45ec451645dce55d92f369e6b311017 (patch) | |
| tree | c2bd9116a5873bab9becdf0c2a4a99fdd8f31294 /sys/uvm/uvm_vnode.c | |
| parent | 583781abd34ea531c04496efe355e32c7da3ddee (diff) | |
uvm_vnp_setsize: put back v_size assignment after uvn_put.
PR/34147 from Juergen Hannken-Illjes.
Diffstat (limited to 'sys/uvm/uvm_vnode.c')
| -rw-r--r-- | sys/uvm/uvm_vnode.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/uvm/uvm_vnode.c b/sys/uvm/uvm_vnode.c index 23cbf138a3a..a24d9b5dfbe 100644 --- a/sys/uvm/uvm_vnode.c +++ b/sys/uvm/uvm_vnode.c @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_vnode.c,v 1.75 2006/10/12 10:14:20 yamt Exp $ */ +/* $NetBSD: uvm_vnode.c,v 1.76 2006/10/14 09:20:35 yamt Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -50,7 +50,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_vnode.c,v 1.75 2006/10/12 10:14:20 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_vnode.c,v 1.76 2006/10/14 09:20:35 yamt Exp $"); #include "fs_nfs.h" #include "opt_uvmhist.h" @@ -466,12 +466,12 @@ uvm_vnp_setsize(struct vnode *vp, voff_t newsize) */ oldsize = vp->v_size; - vp->v_size = newsize; if (oldsize > pgend && oldsize != VSIZENOTSET) { (void) uvn_put(uobj, pgend, 0, PGO_FREE | PGO_SYNCIO); - } else { - simple_unlock(&uobj->vmobjlock); + simple_lock(&uobj->vmobjlock); } + vp->v_size = newsize; + simple_unlock(&uobj->vmobjlock); } /* |
