Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp656329imj; Wed, 13 Feb 2019 15:06:44 -0800 (PST) X-Google-Smtp-Source: AHgI3IZpjwuICezVEd3yTxKitWvBirtOmZBPT88bndQew/4fT4rDPNQ9BcCKP4kFM/ww4AwdxvQ/ X-Received: by 2002:a17:902:3283:: with SMTP id z3mr719846plb.76.1550099204682; Wed, 13 Feb 2019 15:06:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550099204; cv=none; d=google.com; s=arc-20160816; b=LHoR5NWdAokVcLqP9GXOLbojpMzeiwysBnAf8t6ctOeKpCMl/F9JIYhW6AYWlwCiQi icRWscJeJS8MvNbv4x139nYUNZ0CiwpnUNBa0AihNnjqHgKly//HXv7jre5QuRWNDRBM qy8G2gik7NRlTtpAqQrsTGuw8d0XwJb9W3yiAGQqQx9umq69uQqjGYfVzZHyw/Oc8KAK qOrY+dM1BENF1k5aCO99wQDtudx46YFrEo0DuKng9dTeM9XJRwDShnWvivBiwOsijBFb RN4m/63S8nHNZCwHq+lM3dtkFnZhZLw1efrgl+r3aY9zlntqeKxN78MyrTFDkrdoQR4E 8HYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from; bh=UjJQ7zGkMuyAnSQCqFUdZQRaUc4y6V1sdWLkGPmUjec=; b=c1uRMRZfOc/h2M3qSYrNlUP5bmwUX6K1ewDCf+BWFU4rFyjapHT+6OIIdhWDy/pg5A GJqMKmr3v03g9fNDAbPjuOPL+hcV2gnfUV/e0hpB10cj3/EHATjObioCcPcW/a53dan+ djzzv09BzICOA814AMx2S2s8q2nM38wZnliFDVRyR3EuiWCMbGAp5XTXrkaa3J/x4/HX wNtB+s3fO/u8qCZWkIhe9MjnbfRyNZ8cDvYl8tL3z27ExwNv2rJlq2BMlWjMAftgMHkd hMr098/uC0DuwosdkUxbcw865QbTO85sWxZPPDJcz9MQx/eyJQ+YAa9waanNKA/ETvcx 5H7g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a5si505741pgt.408.2019.02.13.15.06.28; Wed, 13 Feb 2019 15:06:44 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392994AbfBMR0J (ORCPT + 99 others); Wed, 13 Feb 2019 12:26:09 -0500 Received: from mail.parknet.co.jp ([210.171.160.6]:53256 "EHLO mail.parknet.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388929AbfBMR0I (ORCPT ); Wed, 13 Feb 2019 12:26:08 -0500 Received: from ibmpc.myhome.or.jp (server.parknet.ne.jp [210.171.168.39]) by mail.parknet.co.jp (Postfix) with ESMTPSA id 622191B4058; Thu, 14 Feb 2019 02:19:30 +0900 (JST) Received: from devron.myhome.or.jp (foobar@devron.myhome.or.jp [192.168.0.3]) by ibmpc.myhome.or.jp (8.15.2/8.15.2/Debian-12) with ESMTPS id x1DHJTBv019927 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 14 Feb 2019 02:19:30 +0900 Received: from devron.myhome.or.jp (foobar@localhost [127.0.0.1]) by devron.myhome.or.jp (8.15.2/8.15.2/Debian-12) with ESMTPS id x1DHJSl8013024 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 14 Feb 2019 02:19:28 +0900 Received: (from hirofumi@localhost) by devron.myhome.or.jp (8.15.2/8.15.2/Submit) id x1DHJSRo013023; Thu, 14 Feb 2019 02:19:28 +0900 From: OGAWA Hirofumi To: Andrew Morton Cc: Hou Tao , , Subject: Re: [PATCH] fat: enable .splice_write to support splice on O_DIRECT file References: <20190210094754.56355-1-houtao1@huawei.com> <871s4b7gkj.fsf@mail.parknet.co.jp> Date: Thu, 14 Feb 2019 02:19:28 +0900 In-Reply-To: <871s4b7gkj.fsf@mail.parknet.co.jp> (OGAWA Hirofumi's message of "Thu, 14 Feb 2019 02:18:20 +0900") Message-ID: <87wom361y7.fsf@mail.parknet.co.jp> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org OGAWA Hirofumi writes: > Hou Tao writes: > >> Now splice() on O_DIRECT-opened fat file will return -EFAULT, that is >> because the default .splice_write, namely default_file_splice_write(), >> will construct an ITER_KVEC iov_iter and dio_refill_pages() in dio path >> can not handle it. >> >> Fix it by implementing .splice_write through iter_file_splice_write(). >> >> Spotted by xfs-tests generic/091. >> >> Signed-off-by: Hou Tao >> --- >> fs/fat/file.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/fs/fat/file.c b/fs/fat/file.c >> index 13935ee99e1e..b3bed32946b1 100644 >> --- a/fs/fat/file.c >> +++ b/fs/fat/file.c >> @@ -214,6 +214,7 @@ const struct file_operations fat_file_operations = { >> #endif >> .fsync = fat_file_fsync, >> .splice_read = generic_file_splice_read, >> + .splice_write = iter_file_splice_write, >> .fallocate = fat_fallocate, >> }; > > Looks good. > > Acked-by: OGAWA Hirofumi > > Thanks. Forgot to include akpm to addresses. -- OGAWA Hirofumi