f2fs: introduce readahead mode of node pages
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Tue, 26 Feb 2013 04:10:46 +0000 (13:10 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 18 Mar 2013 12:00:33 +0000 (21:00 +0900)
commit266e97a81cf73d1a0dac5f68391da382630a80b7
treee5c335396c512c72d5c324f789a8ddae93340b0c
parent66d36a2944df461448159be5af13049dd2689e77
f2fs: introduce readahead mode of node pages

Previously, f2fs reads several node pages ahead when get_dnode_of_data is called
with RDONLY_NODE flag.
And, this flag is set by the following functions.
- get_data_block_ro
- get_lock_data_page
- do_write_data_page
- truncate_blocks
- truncate_hole

However, this readahead mechanism is initially introduced for the use of
get_data_block_ro to enhance the sequential read performance.

So, let's clarify all the cases with the additional modes as follows.

enum {
ALLOC_NODE, /* allocate a new node page if needed */
LOOKUP_NODE, /* look up a node without readahead */
LOOKUP_NODE_RA, /*
 * look up a node with readahead called
 * by get_datablock_ro.
 */
}

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/node.c
fs/f2fs/recovery.c