From 1728aa7b42fc7f070ba808c2fbea866a7153106e Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 8 May 2008 14:06:19 +0200 Subject: [PATCH] --- yaml --- r: 96166 b: refs/heads/master c: 75065ff619e42fe35178eda863cbcddd57776794 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/splice.c | 2 +- trunk/kernel/relay.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 3f7e34c3a723..f5ed9d6a7470 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ffee0259c9edcc4c0f06b60df51c461eeecad4c0 +refs/heads/master: 75065ff619e42fe35178eda863cbcddd57776794 diff --git a/trunk/fs/splice.c b/trunk/fs/splice.c index cece15b4ef72..78150038b584 100644 --- a/trunk/fs/splice.c +++ b/trunk/fs/splice.c @@ -1072,7 +1072,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, ret = splice_direct_to_actor(in, &sd, direct_splice_actor); if (ret > 0) - *ppos = sd.pos; + *ppos += ret; return ret; } diff --git a/trunk/kernel/relay.c b/trunk/kernel/relay.c index 7de644cdec43..bc24dcdc570f 100644 --- a/trunk/kernel/relay.c +++ b/trunk/kernel/relay.c @@ -1191,7 +1191,7 @@ static ssize_t relay_file_splice_read(struct file *in, ret = 0; spliced = 0; - while (len && !spliced) { + while (len) { ret = subbuf_splice_actor(in, ppos, pipe, len, flags, &nonpad_ret); if (ret < 0) break;