summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pageout.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-03-17 23:00:32 +0000
committerkib <kib@FreeBSD.org>2012-03-17 23:00:32 +0000
commit2963c3c979b3491c27ed851b7e3ea47c0ae4167c (patch)
treef682c3a5094240f4bd795d32ef82092b98ddaf50 /sys/vm/vm_pageout.h
parent7af7d69c50251e2fa1d112707e1ec06e1830e1b3 (diff)
downloadFreeBSD-src-2963c3c979b3491c27ed851b7e3ea47c0ae4167c.zip
FreeBSD-src-2963c3c979b3491c27ed851b7e3ea47c0ae4167c.tar.gz
In vm_object_page_clean(), do not clean OBJ_MIGHTBEDIRTY object flag
if the filesystem performed short write and we are skipping the page due to this. Propogate write error from the pager back to the callers of vm_pageout_flush(). Report the failure to write a page from the requested range as the FALSE return value from vm_object_page_clean(), and propagate it back to msync(2) to return EIO to usermode. While there, convert the clearobjflags variable in the vm_object_page_clean() and arguments of the helper functions to boolean. PR: kern/165927 Reviewed by: alc MFC after: 2 weeks
Diffstat (limited to 'sys/vm/vm_pageout.h')
-rw-r--r--sys/vm/vm_pageout.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vm_pageout.h b/sys/vm/vm_pageout.h
index 53e051a..6897bbb 100644
--- a/sys/vm/vm_pageout.h
+++ b/sys/vm/vm_pageout.h
@@ -102,7 +102,7 @@ extern void vm_waitpfault(void);
#ifdef _KERNEL
boolean_t vm_pageout_fallback_object_lock(vm_page_t, vm_page_t *);
-int vm_pageout_flush(vm_page_t *, int, int, int, int *);
+int vm_pageout_flush(vm_page_t *, int, int, int, int *, boolean_t *);
void vm_pageout_oom(int shortage);
boolean_t vm_pageout_page_lock(vm_page_t, vm_page_t *);
void vm_contig_grow_cache(int, vm_paddr_t, vm_paddr_t);
OpenPOWER on IntegriCloud