Re: [PATCH 1/2] f2fs: read with READ_SYNC when getting dnode page

From: Namjae Jeon
Date: Tue Feb 26 2013 - 19:36:53 EST


2013/2/27, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>:
> Hi,
>
> 2013-02-26 (í), 18:35 +0900, Namjae Jeon:
>> 2013/2/26, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>:
>> > It must be set READ_SYNC not READA.
>> Hi Jaegeuk.
>> Could you please elaborate more?
>> Why we need to change READA to READ_SYNC over here, when the purpose
>> was to read the node page in READ ahead mode.
>
> That point was a reason for me to make this bug before.
> This is get_node_page_ra, not ra_node_page, which means that
> ra_node_page does actual readahead for another node pages.
>
> In summary, get_node_page_ra tries to:
> 1. grab or read a target node page for the given nid,
> 2. then, call ra_node_page to read other adjacent node pages in advance.
>
> So, when we try to read a target node page by #1, we should submit bio
> with READ_SYNC instead of READA.
>
> I'll add this to the description.
> Thanks,
okay, Clear :)
Reviewed-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Thanks for explanation!
>
>>
>> Thanks.
>> >
>> > Signed-off-by: Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>
>> > ---
>> > fs/f2fs/node.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
>> > index e275218..185454f 100644
>> > --- a/fs/f2fs/node.c
>> > +++ b/fs/f2fs/node.c
>> > @@ -930,7 +930,7 @@ repeat:
>> > if (!page)
>> > return ERR_PTR(-ENOMEM);
>> >
>> > - err = read_node_page(page, READA);
>> > + err = read_node_page(page, READ_SYNC);
>> > if (err) {
>> > f2fs_put_page(page, 1);
>> > return ERR_PTR(err);
>> > --
>> > 1.8.1.3.566.gaa39828
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel"
>> > in
>> > the body of a message to majordomo@xxxxxxxxxxxxxxx
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>> >
>
> --
> Jaegeuk Kim
> Samsung
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/