diff options
author | Mel Gorman <mgorman@suse.de> | 2011-10-31 20:07:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-31 20:30:46 -0400 |
commit | 94054fa3fca1fd78db02cb3d68d5627120f0a1d4 (patch) | |
tree | 6ba391fcbad8500610706da5fbc03ffe9cecfd55 /fs/xfs/xfs_aops.c | |
parent | a18bba061c789f5815c3efc3c80e6ac269911964 (diff) |
xfs: warn if direct reclaim tries to writeback pages
Direct reclaim should never writeback pages. For now, handle the
situation and warn about it. Ultimately, this will be a BUG_ON.
Signed-off-by: Mel Gorman <mgorman@suse.de>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Johannes Weiner <jweiner@redhat.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Alex Elder <aelder@sgi.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Dave Hansen <dave@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/xfs/xfs_aops.c')
-rw-r--r-- | fs/xfs/xfs_aops.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index 11b2aad982d4..33b13310ee0c 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c | |||
@@ -902,11 +902,11 @@ xfs_vm_writepage( | |||
902 | * random callers for direct reclaim or memcg reclaim. We explicitly | 902 | * random callers for direct reclaim or memcg reclaim. We explicitly |
903 | * allow reclaim from kswapd as the stack usage there is relatively low. | 903 | * allow reclaim from kswapd as the stack usage there is relatively low. |
904 | * | 904 | * |
905 | * This should really be done by the core VM, but until that happens | 905 | * This should never happen except in the case of a VM regression so |
906 | * filesystems like XFS, btrfs and ext4 have to take care of this | 906 | * warn about it. |
907 | * by themselves. | ||
908 | */ | 907 | */ |
909 | if ((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == PF_MEMALLOC) | 908 | if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == |
909 | PF_MEMALLOC)) | ||
910 | goto redirty; | 910 | goto redirty; |
911 | 911 | ||
912 | /* | 912 | /* |