From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Yu Subject: [PATCH v2 1/3] f2fs: introduce __try_update_largest_extent Date: Tue, 22 Sep 2015 21:07:47 +0800 Message-ID: <00d501d0f537$c4e17260$4ea45720$@samsung.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-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1ZeNJq-0001d9-AE for linux-f2fs-devel@lists.sourceforge.net; Tue, 22 Sep 2015 13:09:14 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.76) id 1ZeNJn-00063Y-HB for linux-f2fs-devel@lists.sourceforge.net; Tue, 22 Sep 2015 13:09:14 +0000 Received: from epcpsbgm1new.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NV202PH1XTYTR40@mailout4.samsung.com> for linux-f2fs-devel@lists.sourceforge.net; Tue, 22 Sep 2015 22:08:26 +0900 (KST) Content-language: zh-cn List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: Jaegeuk Kim Cc: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net This patch adds a new helper __try_update_largest_extent for cleanup. Signed-off-by: Chao Yu --- v2 o cleanup parameter passed. 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..a38ee9b 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, en); 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, en); 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, en); + 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 79c38ad..8d6681a 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -492,6 +492,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_tree *et, + struct extent_node *en) +{ + if (en->ei.len > et->largest.len) + et->largest = en->ei; +} + struct f2fs_nm_info { block_t nat_blkaddr; /* base disk address of NAT */ nid_t max_nid; /* maximum possible node ids */ -- 2.5.2 ------------------------------------------------------------------------------ From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933346AbbIVNJI (ORCPT ); Tue, 22 Sep 2015 09:09:08 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:58836 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932626AbbIVNJG (ORCPT ); Tue, 22 Sep 2015 09:09:06 -0400 X-AuditID: cbfee61a-f79a06d000005c6f-e1-560152ca700d From: Chao Yu To: Jaegeuk Kim Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/3] f2fs: introduce __try_update_largest_extent Date: Tue, 22 Sep 2015 21:07:47 +0800 Message-id: <00d501d0f537$c4e17260$4ea45720$@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: AdD1N4Bgy5+3KdP2QaqeW22DgagI8g== Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDLMWRmVeSWpSXmKPExsVy+t9jQd1TQYxhBlOn6lg8WT+L2eLSIneL y7vmsDkwe2xa1cnmsXvBZyaPz5vkApijuGxSUnMyy1KL9O0SuDI6tvWyFfziq/j9+DhLA+Nz 7i5GTg4JAROJkyc62SFsMYkL99azdTFycQgJzGKUmLnoHpTzilFi04lpzCBVbAIqEss7/jOB 2CJA9qFFl8G6mQU8JBo7vrOC2MICzhIHt14Dq2ERUJW4tmcmWA2vgKXEieUXmSBsQYkfk++x QPRqSazfeZwJwpaX2LzmLTPERQoSO86+ZoTYpSexb1Y/VL24xMYjt1gmMAKdiTBqFpJRs5CM moWkZQEjyypGidSC5ILipPRcw7zUcr3ixNzi0rx0veT83E2M4DB+JrWD8eAu90OMAhyMSjy8 H7oZwoRYE8uKK3MPMUpwMCuJ8K5TZAwT4k1JrKxKLcqPLyrNSS0+xCjNwaIkznvjEFC1QHpi SWp2ampBahFMlomDU6qBUXQnT0PTrM8bL9hMz56s8XpinmLpnEN3L2/8v4SjQ/ac2sQDXe8T T8u9eHfa31bs7YxJf+q2e8vHLD6hIPK2LTr42Zm9vLfP6C9I7OLWFRZcsNeS+UDGtQcsjndc 25iu/YvZUfsk68XO7mym68FGEvwb8ybOvbVAmnNV3ZLH15JaJjLm6XNLhiixFGckGmoxFxUn AgB62RypXwIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds a new helper __try_update_largest_extent for cleanup. Signed-off-by: Chao Yu --- v2 o cleanup parameter passed. 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..a38ee9b 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, en); 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, en); 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, en); + 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 79c38ad..8d6681a 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -492,6 +492,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_tree *et, + struct extent_node *en) +{ + if (en->ei.len > et->largest.len) + et->largest = en->ei; +} + struct f2fs_nm_info { block_t nat_blkaddr; /* base disk address of NAT */ nid_t max_nid; /* maximum possible node ids */ -- 2.5.2