From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changli Gao Subject: [PATCH v2 4/4] splice: fix updating sd->pos wrongly Date: Wed, 26 May 2010 22:44:43 +0800 Message-ID: <1274885083-15735-1-git-send-email-xiaosuo@gmail.com> Cc: Alexander Viro , Miklos Szeredi , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Changli Gao To: Jens Axboe Return-path: Received: from mail-pw0-f46.google.com ([209.85.160.46]:35551 "EHLO mail-pw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752721Ab0EZOpc (ORCPT ); Wed, 26 May 2010 10:45:32 -0400 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: fix updating sd->pos wrongly. In error path, we don't need to updating sd->pos, if the file isn't seekable. Signed-off-by: Changli Gao ---- fs/splice.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/splice.c b/fs/splice.c index 57172ca..c69b241 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1185,7 +1185,8 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd, sd->pos = pos; if (ret < read_len) { - sd->pos = prev_pos + ret; + if (sd->pos) + sd->pos = prev_pos + ret; goto out_release; } }