diff options
author | kib <kib@FreeBSD.org> | 2012-03-17 23:00:32 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-03-17 23:00:32 +0000 |
commit | 2963c3c979b3491c27ed851b7e3ea47c0ae4167c (patch) | |
tree | f682c3a5094240f4bd795d32ef82092b98ddaf50 /sys/vm/vm_pageout.h | |
parent | 7af7d69c50251e2fa1d112707e1ec06e1830e1b3 (diff) | |
download | FreeBSD-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.h | 2 |
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); |