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 <shawn....@rock-chips.com> --- 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