From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934133AbcCKDhK (ORCPT ); Thu, 10 Mar 2016 22:37:10 -0500 Received: from lucky1.263xmail.com ([211.157.147.133]:49313 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933456AbcCKDhG (ORCPT ); Thu, 10 Mar 2016 22:37:06 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: shawn.lin@rock-chips.com X-FST-TO: jaegeuk@kernel.org X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: shawn.lin@rock-chips.com X-UNIQUE-TAG: <9ea3efc5e7eb9bd2279fe53c2137252b> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 From: Shawn Lin To: Jaegeuk Kim Cc: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, Shawn Lin Subject: [PATCH 5/8] f2fs: f2fs: check inline flag ahead for f2fs_inline_data_fiemap Date: Fri, 11 Mar 2016 11:28:58 +0800 Message-Id: <1457666938-14518-1-git-send-email-shawn.lin@rock-chips.com> X-Mailer: git-send-email 1.8.0 In-Reply-To: <1457666880-14311-1-git-send-email-shawn.lin@rock-chips.com> References: <1457666880-14311-1-git-send-email-shawn.lin@rock-chips.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org No matter inline data flag is set or not, get_node_page is going work now. But actually we can avoid it by puting the check of inline data flag in advance to save this cpu cycle. Signed-off-by: Shawn Lin --- fs/f2fs/inline.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 69a4806..394feee 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -566,15 +566,13 @@ int f2fs_inline_data_fiemap(struct inode *inode, struct page *ipage; int err = 0; + if (!f2fs_has_inline_data(inode)) + return -EAGAIN; + ipage = get_node_page(F2FS_I_SB(inode), inode->i_ino); if (IS_ERR(ipage)) return PTR_ERR(ipage); - if (!f2fs_has_inline_data(inode)) { - err = -EAGAIN; - goto out; - } - ilen = min_t(size_t, MAX_INLINE_DATA, i_size_read(inode)); if (start >= ilen) goto out; -- 2.3.7