| From 2cb4b05e7647891b46b91c07c9a60304803d1688 Mon Sep 17 00:00:00 2001 |
| From: Changli Gao <xiaosuo@gmail.com> |
| Date: Tue, 29 Jun 2010 13:09:18 +0200 |
| Subject: splice: direct_splice_actor() should not use pos in sd |
| |
| From: Changli Gao <xiaosuo@gmail.com> |
| |
| commit 2cb4b05e7647891b46b91c07c9a60304803d1688 upstream. |
| |
| direct_splice_actor() shouldn't use sd->pos, as sd->pos is for file reading, |
| file->f_pos should be used instead. |
| |
| Signed-off-by: Changli Gao <xiaosuo@gmail.com> |
| Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> |
| Signed-off-by: Jens Axboe <jaxboe@fusionio.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| fs/splice.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/fs/splice.c |
| +++ b/fs/splice.c |
| @@ -1231,7 +1231,8 @@ static int direct_splice_actor(struct pi |
| { |
| struct file *file = sd->u.file; |
| |
| - return do_splice_from(pipe, file, &sd->pos, sd->total_len, sd->flags); |
| + return do_splice_from(pipe, file, &file->f_pos, sd->total_len, |
| + sd->flags); |
| } |
| |
| /** |