diff options
| author | Kirk McKusick <mckusick@FreeBSD.org> | 1998-09-29 23:28:32 +0000 |
|---|---|---|
| committer | Kirk McKusick <mckusick@FreeBSD.org> | 1998-09-29 23:28:32 +0000 |
| commit | b6b74f2f4e18e1cd94ebde6a1e3aa8785bb46ffd (patch) | |
| tree | c462e1f3ce30b195ec79d7792ec7dc9a122840db | |
| parent | 11ee80a991b8114581804939eb1f3f7657c501b5 (diff) | |
Notes
| -rw-r--r-- | sys/nfs/nfs_vnops.c | 8 | ||||
| -rw-r--r-- | sys/nfsclient/nfs_vnops.c | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index 385f6f64784b..ea0f1107923c 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 - * $Id: nfs_vnops.c,v 1.105 1998/07/04 20:45:37 julian Exp $ + * $Id: nfs_vnops.c,v 1.106 1998/08/13 08:09:08 dfr Exp $ */ @@ -622,6 +622,7 @@ nfs_setattr(ap) */ if (vp->v_mount->mnt_flag & MNT_RDONLY) return (EROFS); + vnode_pager_setsize(vp, (u_long)vap->va_size); if (np->n_flag & NMODIFIED) { if (vap->va_size == 0) error = nfs_vinvalbuf(vp, 0, @@ -629,12 +630,13 @@ nfs_setattr(ap) else error = nfs_vinvalbuf(vp, V_SAVE, ap->a_cred, ap->a_p, 1); - if (error) + if (error) { + vnode_pager_setsize(vp, (u_long)np->n_size); return (error); + } } tsize = np->n_size; np->n_size = np->n_vattr.va_size = vap->va_size; - vnode_pager_setsize(vp, (u_long)np->n_size); }; } else if ((vap->va_mtime.tv_sec != VNOVAL || vap->va_atime.tv_sec != VNOVAL) && (np->n_flag & NMODIFIED) && diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index 385f6f64784b..ea0f1107923c 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 - * $Id: nfs_vnops.c,v 1.105 1998/07/04 20:45:37 julian Exp $ + * $Id: nfs_vnops.c,v 1.106 1998/08/13 08:09:08 dfr Exp $ */ @@ -622,6 +622,7 @@ nfs_setattr(ap) */ if (vp->v_mount->mnt_flag & MNT_RDONLY) return (EROFS); + vnode_pager_setsize(vp, (u_long)vap->va_size); if (np->n_flag & NMODIFIED) { if (vap->va_size == 0) error = nfs_vinvalbuf(vp, 0, @@ -629,12 +630,13 @@ nfs_setattr(ap) else error = nfs_vinvalbuf(vp, V_SAVE, ap->a_cred, ap->a_p, 1); - if (error) + if (error) { + vnode_pager_setsize(vp, (u_long)np->n_size); return (error); + } } tsize = np->n_size; np->n_size = np->n_vattr.va_size = vap->va_size; - vnode_pager_setsize(vp, (u_long)np->n_size); }; } else if ((vap->va_mtime.tv_sec != VNOVAL || vap->va_atime.tv_sec != VNOVAL) && (np->n_flag & NMODIFIED) && |
