splice: direct_splice_actor() should not use pos in sd
authorChangli Gao <xiaosuo@gmail.com>
Tue, 29 Jun 2010 11:09:18 +0000 (13:09 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Wed, 30 Jun 2010 06:12:37 +0000 (08:12 +0200)
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>
----
 fs/splice.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
fs/splice.c

index 740e6b9faf7ab2e10e0ebfc68725d0d05e0b547f..41900496d3bb1aedac051f6f81b39eb1e5cb52d9 100644 (file)
@@ -1282,7 +1282,8 @@ static int direct_splice_actor(struct pipe_inode_info *pipe,
 {
        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);
 }
 
 /**