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 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


Reply via email to