diff options
-rw-r--r-- | sys/msdosfs/msdosfs_denode.c | 10 | ||||
-rw-r--r-- | sys/msdosfs/msdosfs_vnops.c | 10 |
2 files changed, 18 insertions, 2 deletions
diff --git a/sys/msdosfs/msdosfs_denode.c b/sys/msdosfs/msdosfs_denode.c index b1d456cc977..0bc5c0a3a6c 100644 --- a/sys/msdosfs/msdosfs_denode.c +++ b/sys/msdosfs/msdosfs_denode.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_denode.c,v 1.14 1999/01/08 11:00:53 art Exp $ */ +/* $OpenBSD: msdosfs_denode.c,v 1.15 1999/02/26 03:28:13 art Exp $ */ /* $NetBSD: msdosfs_denode.c,v 1.23 1997/10/17 11:23:58 ws Exp $ */ /*- @@ -386,7 +386,11 @@ detrunc(dep, length, flags, cred, p) return (EINVAL); } +#if defined(UVM) + uvm_vnp_setsize(DETOV(dep), length); +#else vnode_pager_setsize(DETOV(dep), length); +#endif if (dep->de_FileSize < length) return (deextend(dep, length, cred)); @@ -439,7 +443,11 @@ detrunc(dep, length, flags, cred, p) #endif return (error); } +#if defined(UVM) + uvm_vnp_uncache(DETOV(dep)); +#else vnode_pager_uncache(DETOV(dep)); /* what's this for? */ +#endif /* * is this the right place for it? */ diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index 4792bf7383d..09e9e169e6b 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_vnops.c,v 1.20 1999/01/11 05:12:28 millert Exp $ */ +/* $OpenBSD: msdosfs_vnops.c,v 1.21 1999/02/26 03:28:13 art Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.63 1997/10/17 11:24:19 ws Exp $ */ /*- @@ -638,9 +638,17 @@ msdosfs_write(v) n = min(uio->uio_resid, pmp->pm_bpcluster - croffset); if (uio->uio_offset + n > dep->de_FileSize) { dep->de_FileSize = uio->uio_offset + n; +#if defined(UVM) + uvm_vnp_setsize(vp, dep->de_FileSize); +#else vnode_pager_setsize(vp, dep->de_FileSize); /* why? */ +#endif } +#if defined(UVM) + uvm_vnp_uncache(vp); +#else (void) vnode_pager_uncache(vp); /* why not? */ +#endif /* * Should these vnode_pager_* functions be done on dir * files? |