提交 e6e80f29 编写于 作者: J Jens Axboe 提交者: Jens Axboe

[PATCH] splice: fix pipe_to_file() ->prepare_write() error path

Don't jump to the unlock+release path, we already did that.
Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
上级 a22b169d
...@@ -607,7 +607,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, ...@@ -607,7 +607,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
ret = -ENOMEM; ret = -ENOMEM;
page = page_cache_alloc_cold(mapping); page = page_cache_alloc_cold(mapping);
if (unlikely(!page)) if (unlikely(!page))
goto out_nomem; goto out_ret;
/* /*
* This will also lock the page * This will also lock the page
...@@ -666,7 +666,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, ...@@ -666,7 +666,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
if (sd->pos + this_len > isize) if (sd->pos + this_len > isize)
vmtruncate(mapping->host, isize); vmtruncate(mapping->host, isize);
goto out; goto out_ret;
} }
if (buf->page != page) { if (buf->page != page) {
...@@ -698,7 +698,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, ...@@ -698,7 +698,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
out: out:
page_cache_release(page); page_cache_release(page);
unlock_page(page); unlock_page(page);
out_nomem: out_ret:
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册