From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaegeuk Kim Subject: Re: [PATCH 2/2 v2] f2fs: add a case of no need to read a page in write begin Date: Tue, 20 Dec 2016 10:03:25 -0800 Message-ID: <20161220180325.GA1583@jaegeuk.local> References: <20161220031135.18754-1-heyunlei@huawei.com> <20161220031135.18754-2-heyunlei@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1cJOlG-0007a7-4e for linux-f2fs-devel@lists.sourceforge.net; Tue, 20 Dec 2016 18:03:38 +0000 Received: from mail.kernel.org ([198.145.29.136]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1cJOlD-0000G2-OL for linux-f2fs-devel@lists.sourceforge.net; Tue, 20 Dec 2016 18:03:38 +0000 Content-Disposition: inline In-Reply-To: <20161220031135.18754-2-heyunlei@huawei.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: Yunlei He Cc: heyunlei@huwei.com, linux-f2fs-devel@lists.sourceforge.net On 12/20, Yunlei He wrote: > If the range we write cover the whole valid data in the last page, > we do not need to read it. > > Signed-off-by: Yunlei He > --- > fs/f2fs/data.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > index 9ac2625..303873f 100644 > --- a/fs/f2fs/data.c > +++ b/fs/f2fs/data.c > @@ -1715,6 +1715,9 @@ static int f2fs_write_begin(struct file *file, struct address_space *mapping, > if (len == PAGE_SIZE || PageUptodate(page)) > return 0; > > + if (!(pos & (PAGE_SIZE - 1)) && (pos + len) >= i_size_read(inode)) I added here: zero_user_segment(page, 0, PAGE_SIZE); Otherwise, xfstests/f2fs/001 gives a failure. Thanks, > + return 0; > + > if (blkaddr == NEW_ADDR) { > zero_user_segment(page, 0, PAGE_SIZE); > SetPageUptodate(page); > @@ -1768,7 +1771,7 @@ static int f2fs_write_end(struct file *file, > * let generic_perform_write() try to copy data again through copied=0. > */ > if (!PageUptodate(page)) { > - if (unlikely(copied != PAGE_SIZE)) > + if (unlikely(copied != len)) > copied = 0; > else > SetPageUptodate(page); > -- > 2.10.1 > > > ------------------------------------------------------------------------------ > Developer Access Program for Intel Xeon Phi Processors > Access to Intel Xeon Phi processor-based developer platforms. > With one year of Intel Parallel Studio XE. > Training and support from Colfax. > Order your platform today.http://sdm.link/intel > _______________________________________________ > Linux-f2fs-devel mailing list > Linux-f2fs-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/intel