Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933571AbcCKCho (ORCPT ); Thu, 10 Mar 2016 21:37:44 -0500 Received: from lucky1.263xmail.com ([211.157.147.132]:37521 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933259AbcCKChn (ORCPT ); Thu, 10 Mar 2016 21:37:43 -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: 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 1/2] f2fs: check inline flag ahead for f2fs_read_inline_data Date: Fri, 11 Mar 2016 10:29:02 +0800 Message-Id: <1457663342-19200-1-git-send-email-shawn.lin@rock-chips.com> X-Mailer: git-send-email 1.8.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 923 Lines: 38 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 358214e..0182106 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -81,17 +81,15 @@ int f2fs_read_inline_data(struct inode *inode, struct page *page) { struct page *ipage; + if (!f2fs_has_inline_data(inode)) + return -EAGAIN; + ipage = get_node_page(F2FS_I_SB(inode), inode->i_ino); if (IS_ERR(ipage)) { unlock_page(page); return PTR_ERR(ipage); } - if (!f2fs_has_inline_data(inode)) { - f2fs_put_page(ipage, 1); - return -EAGAIN; - } - if (page->index) zero_user_segment(page, 0, PAGE_CACHE_SIZE); else -- 2.3.7