summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_cluster.c
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2000-11-18 23:06:26 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2000-11-18 23:06:26 +0000
commit936524aa02cdcfc3c7e153dd3147b4e5a013c62d (patch)
tree51dc27269a10c04b5f6a785b7e9f8b9ebcfb08f5 /sys/kern/vfs_cluster.c
parentef0646f9d8735d4ec0660372a7099117c164e160 (diff)
Notes
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r--sys/kern/vfs_cluster.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c
index 4f1aecfebfc0..29a1879a3e14 100644
--- a/sys/kern/vfs_cluster.c
+++ b/sys/kern/vfs_cluster.c
@@ -48,6 +48,7 @@
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/resourcevar.h>
+#include <sys/vmmeter.h>
#include <vm/vm.h>
#include <vm/vm_object.h>
#include <vm/vm_page.h>
@@ -665,6 +666,11 @@ cluster_write(bp, filesize, seqcount)
cluster_wbuild_wb(vp, lblocksize, vp->v_cstart, vp->v_clen + 1);
vp->v_clen = 0;
vp->v_cstart = lbn + 1;
+ } else if (vm_page_count_severe()) {
+ /*
+ * We are low on memory, get it going NOW
+ */
+ bawrite(bp);
} else {
/*
* In the middle of a cluster, so just delay the I/O for now.