linux/mm
Peter Zijlstra 6ddab3b9eb [PATCH] mm: swap write failure fixup
Currently we can silently drop data if the write to swap failed.  It
usually doesn't result in data-corruption because on page-in the process
will receive SIGBUS (assuming write-failure implies read-failure).

This assumption might or might not be valid.

This patch will avoid the page being discarded after a failed write.  But
will print a warning the sysadmin _should_ take to heart, if a lot of swap
space becomes un-writeable, OOM is not far off.

Tested by making the write fail 'randomly' once every 50 writes or so.

[akpm@osdl.org: printk warning fix]
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:48:48 -07:00
..
bootmem.c [PATCH] bootmem: miscellaneous coding style fixes 2006-09-26 08:48:45 -07:00
fadvise.c [PATCH] fadvise() make POSIX_FADV_NOREUSE a no-op 2006-08-06 08:57:47 -07:00
filemap_xip.c [PATCH] mark address_space_operations const 2006-06-28 14:59:04 -07:00
filemap.c [PATCH] mm: non syncing lock_page() 2006-09-26 08:48:48 -07:00
filemap.h [PATCH] generic_file_buffered_write(): handle zero-length iovec segments 2006-06-29 10:26:20 -07:00
fremap.c [PATCH] mm: small cleanup of install_page() 2006-09-26 08:48:44 -07:00
highmem.c [PATCH] reduce MAX_NR_ZONES: move HIGHMEM counters into highmem.c/.h 2006-09-26 08:48:46 -07:00
hugetlb.c [PATCH] tightening hugetlb strict accounting 2006-06-23 07:42:48 -07:00
internal.h [PATCH] mm: VM_BUG_ON 2006-09-26 08:48:44 -07:00
Kconfig Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-29 10:49:17 -07:00
madvise.c [PATCH] Fix MADV_REMOVE protection checking 2006-04-17 18:22:18 -07:00
Makefile [PATCH] zoned vm counters: create vmstat.c/.h from page_alloc.c/.h 2006-06-30 11:25:34 -07:00
memory_hotplug.c [PATCH] memory hotadd fixes: enhance collision check 2006-08-06 08:57:49 -07:00
memory.c [PATCH] Add kerneldocs for some functions in mm/memory.c 2006-09-26 08:48:47 -07:00
mempolicy.c [PATCH] linearly index zone->node_zonelists[] 2006-09-26 08:48:47 -07:00
mempool.c [PATCH] dm: work around mempool_alloc, bio_alloc_bioset deadlocks 2006-09-01 11:39:09 -07:00
migrate.c [PATCH] Allow migration of mlocked pages 2006-06-25 10:00:55 -07:00
mincore.c [PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NR 2005-04-19 13:29:20 -07:00
mlock.c [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
mmap.c [PATCH] mm: tracking shared dirty pages 2006-09-26 08:48:44 -07:00
mmzone.c [PATCH] mm/mmzone.c: EXPORT_UNUSED_SYMBOL 2006-07-10 13:24:17 -07:00
mprotect.c [PATCH] mm: optimize the new mprotect() code a bit 2006-09-26 08:48:44 -07:00
mremap.c [PATCH] lockdep: annotate mm 2006-07-03 15:27:07 -07:00
msync.c [PATCH] mm: msync() cleanup 2006-09-26 08:48:45 -07:00
nommu.c [PATCH] nommu: export two symbols for drivers to use 2006-07-14 21:53:53 -07:00
oom_kill.c [PATCH] out of memory notifier 2006-09-26 08:48:47 -07:00
page_alloc.c [PATCH] linearly index zone->node_zonelists[] 2006-09-26 08:48:47 -07:00
page_io.c [PATCH] mm: swap write failure fixup 2006-09-26 08:48:48 -07:00
page-writeback.c [PATCH] mm: non syncing lock_page() 2006-09-26 08:48:48 -07:00
pdflush.c [PATCH] pdflush: handle resume wakeups 2006-06-25 10:01:06 -07:00
prio_tree.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
readahead.c spelling fixes 2006-06-26 18:35:02 +02:00
rmap.c [PATCH] mm: tracking shared dirty pages 2006-09-26 08:48:44 -07:00
shmem.c [PATCH] reduce MAX_NR_ZONES: move HIGHMEM counters into highmem.c/.h 2006-09-26 08:48:46 -07:00
slab.c [PATCH] slab: respect architecture and caller mandated alignment 2006-09-26 08:48:48 -07:00
slob.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sparse.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
swap_state.c [PATCH] lockdep: locking init debugging improvement 2006-07-03 15:27:02 -07:00
swap.c [PATCH] mm/: make functions static 2006-09-26 08:48:45 -07:00
swapfile.c [PATCH] swsusp: Fix swap_type_of 2006-08-27 11:01:28 -07:00
thrash.c [PATCH] temporarily disable swap token on memory pressure 2005-11-28 14:42:25 -08:00
tiny-shmem.c [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree 2006-06-26 12:25:08 -07:00
truncate.c [PATCH] invalidate_complete_page() race fix 2006-09-08 10:22:50 -07:00
util.c [PATCH] slab: optimize constant-size kzalloc calls 2006-03-25 08:22:49 -08:00
vmalloc.c [PATCH] mm/: make functions static 2006-09-26 08:48:45 -07:00
vmscan.c [PATCH] mm: remove_mapping() safeness 2006-09-26 08:48:48 -07:00
vmstat.c [PATCH] reduce MAX_NR_ZONES: remove display of counters for unconfigured zones 2006-09-26 08:48:47 -07:00