diff options
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r-- | sys/vm/vm_map.c | 18 |
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); |