f2fs: avoid latency-critical readahead of node pages
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 17 Jun 2016 00:03:23 +0000 (17:03 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 6 Jul 2016 17:44:10 +0000 (10:44 -0700)
The f2fs_map_blocks is very related to the performance, so let's avoid any
latency to read ahead node pages.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c
fs/f2fs/file.c

index 08325280d03c212c090c1268ccf939239b63bf4c..ba4963f51beebdb14a9fd83ee8ca55e607351042 100644 (file)
@@ -652,7 +652,7 @@ int f2fs_map_blocks(struct inode *inode, struct f2fs_map_blocks *map,
        unsigned int maxblocks = map->m_len;
        struct dnode_of_data dn;
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
-       int mode = create ? ALLOC_NODE : LOOKUP_NODE_RA;
+       int mode = create ? ALLOC_NODE : LOOKUP_NODE;
        pgoff_t pgofs, end_offset, end;
        int err = 0, ofs = 1;
        unsigned int ofs_in_node, last_ofs_in_node;
index b9d745ef5b08c636afbe031b7bafad2e80130c26..d07e7759f970945b15f6c46756050209c22a2e01 100644 (file)
@@ -354,7 +354,7 @@ static loff_t f2fs_seek_block(struct file *file, loff_t offset, int whence)
 
        for (; data_ofs < isize; data_ofs = (loff_t)pgofs << PAGE_SHIFT) {
                set_new_dnode(&dn, inode, NULL, NULL, 0);
-               err = get_dnode_of_data(&dn, pgofs, LOOKUP_NODE_RA);
+               err = get_dnode_of_data(&dn, pgofs, LOOKUP_NODE);
                if (err && err != -ENOENT) {
                        goto fail;
                } else if (err == -ENOENT) {