linux/fs/xfs/linux-2.6
Christoph Hellwig 070ecdca54 xfs: skip writeback from reclaim context
Allowing writeback from reclaim context causes massive problems with stack
overflows as we can call into the writeback code which tends to be a heavy
stack user both in the generic code and XFS from random contexts that
perform memory allocations.

Follow the example of btrfs (and in slightly different form ext4) and refuse
to write out data from reclaim context.  This issue should really be handled
by the VM so that we can tune better for this case, but until we get it
sorted out there we have to hack around this in each filesystem with a
complex writeback path.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
2010-06-03 16:22:29 +10:00
..
kmem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
kmem.h xfs: replace KM_LARGE with explicit vmalloc use 2010-01-21 13:44:56 -06:00
mrlock.h
sv.h
time.h
xfs_acl.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
xfs_aops.c xfs: skip writeback from reclaim context 2010-06-03 16:22:29 +10:00
xfs_aops.h xfs: event tracing support 2009-12-14 23:08:16 -06:00
xfs_buf.c xfs: Improve scalability of busy extent tracking 2010-05-24 10:34:00 -05:00
xfs_buf.h xfs: add blockdev name to kthreads 2010-05-19 09:58:07 -05:00
xfs_cred.h
xfs_dmapi_priv.h
xfs_export.c Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs into for-2.6.34-incoming 2010-03-04 12:04:51 -05:00
xfs_export.h
xfs_file.c xfs: wait for direct I/O to complete in fsync and write_inode 2010-05-19 09:58:14 -05:00
xfs_fs_subr.c xfs: remove duplicate buffer flags 2010-01-21 13:44:36 -06:00
xfs_fs_subr.h
xfs_globals.c
xfs_globals.h
xfs_ioctl32.c xfs: Fix integer overflow in fs/xfs/linux-2.6/xfs_ioctl*.c 2010-05-19 09:58:07 -05:00
xfs_ioctl32.h
xfs_ioctl.c xfs: Fix integer overflow in fs/xfs/linux-2.6/xfs_ioctl*.c 2010-05-19 09:58:07 -05:00
xfs_ioctl.h xfs: convert attr to use unsigned names 2010-01-20 10:47:48 +11:00
xfs_iops.c xfs: Check new inode size is OK before preallocating 2010-05-28 15:19:12 -05:00
xfs_iops.h
xfs_linux.h xfs: kill xfs_lrw.h 2010-03-01 16:35:44 -06:00
xfs_quotaops.c xfs: remove duplicated #include 2010-05-28 15:19:36 -05:00
xfs_stats.c xfs: switch to seq_file 2009-09-15 12:29:24 -05:00
xfs_stats.h
xfs_super.c xfs: Introduce delayed logging core code 2010-05-24 10:38:03 -05:00
xfs_super.h xfs: event tracing support 2009-12-14 23:08:16 -06:00
xfs_sync.c xfs: fix access to upper inodes without inode64 2010-05-28 15:19:56 -05:00
xfs_sync.h xfs: add a shrinker to background inode reclaim 2010-04-29 16:22:13 -05:00
xfs_sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
xfs_sysctl.h
xfs_trace.c xfs: xfs_trace.c: remove duplicated #include 2010-05-28 15:19:24 -05:00
xfs_trace.h xfs: convert more trace events to DEFINE_EVENT 2010-05-28 15:19:31 -05:00
xfs_version.h
xfs_vnode.h xfs: event tracing support 2009-12-14 23:08:16 -06:00
xfs_xattr.c xfs: convert attr to use unsigned names 2010-01-20 10:47:48 +11:00