summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/msdosfs/msdosfs_denode.c10
-rw-r--r--sys/msdosfs/msdosfs_vnops.c10
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?