From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933358AbbIVNF3 (ORCPT ); Tue, 22 Sep 2015 09:05:29 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:46279 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932886AbbIVNF1 (ORCPT ); Tue, 22 Sep 2015 09:05:27 -0400 X-AuditID: cbfee61a-f79a06d000005c6f-fd-560152155fb0 From: Chao Yu To: "'Jaegeuk Kim'" Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org References: <00cb01d0f1ef$8886fc90$9994f5b0$@samsung.com> <20150921184002.GA20551@jaegeuk-mac02.mot.com> In-reply-to: <20150921184002.GA20551@jaegeuk-mac02.mot.com> Subject: RE: [PATCH 1/3] f2fs: introduce __try_update_largest_extent Date: Tue, 22 Sep 2015 21:04:42 +0800 Message-id: <00d401d0f537$592d1ec0$0b875c40$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AQIOqsaoCuEjofPKx+Te9S3SX7m2aQNuCRbunbFLuDA= Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsVy+t9jAV2xIMYwg38rWS2erJ/FbHFpkbvF 5V1z2ByYPTat6mTz2L3gM5PH501yAcxRXDYpqTmZZalF+nYJXBlT/01nLXgtUrF26nzWBsZ2 gS5GDg4JAROJHw9Cuxg5gUwxiQv31rN1MXJxCAksZZRYdfcylPOKUWLRrylsIFVsAioSyzv+ M4HYIgJqEr37poDZzAIeEo0d31lBbCGBLInr174wgticAtYS61ftBqsRFnCReLvuEdgcFgFV iRdvZoLFeQUsJeY8XcEIYQtK/Jh8jwVippbE+p3HoebLS2xe85YZ4lIFiR1nXzOCPCAiYCVx eWk4RIm4xMYjt1gmMArNQjJpFpJJs5BMmoWkZQEjyypGidSC5ILipPRcw7zUcr3ixNzi0rx0 veT83E2M4JB/JrWD8eAu90OMAhyMSjy8H7oZwoRYE8uKK3MPMUpwMCuJ8K5TZAwT4k1JrKxK LcqPLyrNSS0+xCjNwaIkznvjEFC1QHpiSWp2ampBahFMlomDU6qBcWLq9u02i+Sqlsqa8D1X 8Qt0//l//4zWa6aSDqxfltqa1b7eON/McVfdwcwJqr1TcjwP83vOU7gVcGiR3LbXz3rKE3w1 ImXXHLbLnn6j4boMZ73dsS49Zo6WlexzXArFPCVjrvoudm968bKjZdX5j3Kb/Dm2Fha3L/xy tFzh5/eHDGZ73vWuVGIpzkg01GIuKk4EALJBCVZ1AgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jaegeuk, > -----Original Message----- > From: Jaegeuk Kim [mailto:jaegeuk@kernel.org] > Sent: Tuesday, September 22, 2015 2:40 AM > To: Chao Yu > Cc: linux-f2fs-devel@lists.sourceforge.net; linux-kernel@vger.kernel.org > Subject: Re: [PATCH 1/3] f2fs: introduce __try_update_largest_extent > > Hi Chao, > > On Fri, Sep 18, 2015 at 04:53:07PM +0800, Chao Yu wrote: > > This patch adds a new helper __try_update_largest_extent for cleanup. > > > > Signed-off-by: Chao Yu > > --- > > fs/f2fs/extent_cache.c | 14 +++++--------- > > fs/f2fs/f2fs.h | 7 +++++++ > > 2 files changed, 12 insertions(+), 9 deletions(-) > > > > diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c > > index c9d1cfd..31d5b48 100644 > > --- a/fs/f2fs/extent_cache.c > > +++ b/fs/f2fs/extent_cache.c > > @@ -351,8 +351,7 @@ static struct extent_node *__try_merge_extent_node(struct f2fs_sb_info > *sbi, > > } > > > > if (en) { > > - if (en->ei.len > et->largest.len) > > - et->largest = en->ei; > > + __try_update_largest_extent(&et->largest, &en->ei); > > et->cached_en = en; > > } > > return en; > > @@ -389,8 +388,7 @@ do_insert: > > if (!en) > > return NULL; > > > > - if (en->ei.len > et->largest.len) > > - et->largest = en->ei; > > + __try_update_largest_extent(&et->largest, &en->ei); > > et->cached_en = en; > > return en; > > } > > @@ -476,12 +474,10 @@ static unsigned int f2fs_update_extent_tree_range(struct inode *inode, > > : NULL; > > } > > > > - if (parts) { > > - if (en->ei.len > et->largest.len) > > - et->largest = en->ei; > > - } else { > > + if (parts) > > + __try_update_largest_extent(&et->largest, &en->ei); > > + else > > __detach_extent_node(sbi, et, en); > > - } > > > > /* > > * if original extent is split into zero or two parts, extent > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > > index dbceb35..3342619 100644 > > --- a/fs/f2fs/f2fs.h > > +++ b/fs/f2fs/f2fs.h > > @@ -498,6 +498,13 @@ static inline bool __is_front_mergeable(struct extent_info *cur, > > return __is_extent_mergeable(cur, front); > > } > > > > +static inline void __try_update_largest_extent(struct extent_info *largest, > > + struct extent_info *cur) > > How about __try_update_largest_extent(et, en) ? More neat! I will change it. Thanks, > > > +{ > > + if (cur->len > largest->len) > > + *largest = *cur; > > +} > > + > > struct f2fs_nm_info { > > block_t nat_blkaddr; /* base disk address of NAT */ > > nid_t max_nid; /* maximum possible node ids */ > > -- > > 2.5.2