summaryrefslogtreecommitdiffstats
path: root/fs/splice.c
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2010-05-25 10:25:26 +0200
committerJens Axboe <jens.axboe@oracle.com>2010-05-25 10:25:26 +0200
commit0ae0b5d0557264bad65e22f1e2da4b83a02c4535 (patch)
treef2834779f1cadae37376e72c208471f657f0e358 /fs/splice.c
parentd02a2c077fb81f3224c770be62a318165b23b486 (diff)
downloadlinux-0ae0b5d0557264bad65e22f1e2da4b83a02c4535.tar.gz
linux-0ae0b5d0557264bad65e22f1e2da4b83a02c4535.tar.bz2
linux-0ae0b5d0557264bad65e22f1e2da4b83a02c4535.zip
fs/splice.c: fix mapping_gfp_mask usage
mapping_gfp_mask() is not supposed to store allocation contex details, only page location details. So mapping_gfp_mask should be applied to the pagecache page allocation, wheras normal (kernel mapped) memory should be used for surrounding allocations such as radix-tree nodes allocated by add_to_page_cache. Context modifiers should be applied on a per-callsite basis. So change splice to follow this convention (which is followed in similar code patterns in core code). Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'fs/splice.c')
-rw-r--r--fs/splice.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/splice.c b/fs/splice.c
index ac22b00d86c3..740e6b9faf7a 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -354,7 +354,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
break;
error = add_to_page_cache_lru(page, mapping, index,
- mapping_gfp_mask(mapping));
+ GFP_KERNEL);
if (unlikely(error)) {
page_cache_release(page);
if (error == -EEXIST)