From dcfde00acaa6a3007d9e761495036c75fa2b966a Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 20 Jul 2007 15:18:12 +0200 Subject: [PATCH] --- yaml --- r: 62165 b: refs/heads/master c: 6a860c979b35469e4d77da781a96bdb2ca05ae64 h: refs/heads/master i: 62163: 14ab804ca400babf7049cd9dcc73327c6660fa26 v: v3 --- [refs] | 2 +- trunk/fs/splice.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 214608091086..e942ceb927c2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d1ca6f13cfedfd127f3be7e447bd6d922806a65 +refs/heads/master: 6a860c979b35469e4d77da781a96bdb2ca05ae64 diff --git a/trunk/fs/splice.c b/trunk/fs/splice.c index 22496d2a73fa..0a0973218084 100644 --- a/trunk/fs/splice.c +++ b/trunk/fs/splice.c @@ -594,7 +594,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, ret = add_to_page_cache_lru(page, mapping, index, GFP_KERNEL); if (unlikely(ret)) - goto out; + goto out_release; } ret = mapping->a_ops->prepare_write(file, page, offset, offset+this_len); @@ -650,8 +650,9 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, */ mark_page_accessed(page); out: - page_cache_release(page); unlock_page(page); +out_release: + page_cache_release(page); out_ret: return ret; }