From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753024AbcEZDY4 (ORCPT ); Wed, 25 May 2016 23:24:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38474 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752711AbcEZDYy (ORCPT ); Wed, 25 May 2016 23:24:54 -0400 From: Abhi Das To: cluster-devel@redhat.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: Abhi Das , Miklos Szeredi , Jens Axboe , Al Viro Subject: [PATCH] fs: Do not check for valid page->mapping in page_cache_pipe_buf_confirm Date: Wed, 25 May 2016 22:24:45 -0500 Message-Id: <1464233085-19165-1-git-send-email-adas@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 26 May 2016 03:24:54 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the page is truncated after being spliced into the pipe, it's probably not invalid. For filesystems that invalidate pages, we used to return -ENODATA even though the data is there, it's just possibly different from what was spliced into the pipe. We shouldn't have to throw away the buffer or return error in this case. Signed-off-by: Abhi Das CC: Miklos Szeredi CC: Jens Axboe CC: Al Viro --- fs/splice.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index dd9bf7e..b9899b99 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -106,15 +106,6 @@ static int page_cache_pipe_buf_confirm(struct pipe_inode_info *pipe, lock_page(page); /* - * Page got truncated/unhashed. This will cause a 0-byte - * splice, if this is the first page. - */ - if (!page->mapping) { - err = -ENODATA; - goto error; - } - - /* * Uh oh, read-error from disk. */ if (!PageUptodate(page)) { -- 2.4.3