summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.c
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-03-22 12:24:11 +0000
committerdg <dg@FreeBSD.org>1995-03-22 12:24:11 +0000
commit4aa815202930e674583ec1ac86cfe5f12f0238f7 (patch)
treee34506afcd75a7cb263dc3fc0bab9497c1ee119b /sys/vm/vm_map.c
parent0a2856a018c830e6331101f404bca0cb8a56373d (diff)
downloadFreeBSD-src-4aa815202930e674583ec1ac86cfe5f12f0238f7.zip
FreeBSD-src-4aa815202930e674583ec1ac86cfe5f12f0238f7.tar.gz
Removed unused fifth argument to vm_object_page_clean(). Fixed bug with
VTEXT not always getting cleared when it is supposed to. Added check to make sure that vm_object_remove() isn't called with a NULL pager or for a pager for an OBJ_INTERNAL object (neither of which will be on the hash list). Clear OBJ_CANPERSIST if we decide to terminate it because of no resident pages.
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r--sys/vm/vm_map.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index 183b46a..db18908 100644
--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_map.c,v 1.17 1995/03/16 18:17:14 bde Exp $
+ * $Id: vm_map.c,v 1.18 1995/03/21 01:11:40 davidg Exp $
*/
/*
@@ -1499,14 +1499,16 @@ vm_map_clean(map, start, end, syncio, invalidate)
/*
* Flush pages if writing is allowed. XXX should we continue
* on an error?
+ *
+ * XXX Doing async I/O and then removing all the pages from
+ * the object before it completes is probably a very bad
+ * idea.
*/
- if ((current->protection & VM_PROT_WRITE) &&
- !vm_object_page_clean(object, offset, offset + size,
- syncio, FALSE)) {
- vm_object_unlock(object);
- vm_map_unlock_read(map);
- return (KERN_FAILURE);
- }
+ if (current->protection & VM_PROT_WRITE)
+#if 0
+ vm_object_page_clean(object, offset, offset + size, syncio);
+#endif
+ vm_object_page_clean(object, offset, offset + size, TRUE);
if (invalidate)
vm_object_page_remove(object, offset, offset + size, FALSE);
vm_object_unlock(object);
OpenPOWER on IntegriCloud