f2fs: fix return value of releasepage for node and data

If the return value of releasepage is equal to zero, the page cannot be reclaimed.
Instead, we should return 1 in order to reclaim clean pages.

Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
This commit is contained in:
Jaegeuk Kim 2013-03-14 09:24:32 +09:00
parent 48cb76c7be
commit c3850aa1cb
2 changed files with 2 additions and 11 deletions

View file

@ -683,7 +683,7 @@ static void f2fs_invalidate_data_page(struct page *page, unsigned long offset)
static int f2fs_release_data_page(struct page *page, gfp_t wait)
{
ClearPagePrivate(page);
return 0;
return 1;
}
static int f2fs_set_data_page_dirty(struct page *page)

View file

@ -933,7 +933,6 @@ struct page *get_node_page_ra(struct page *parent, int start)
if (!nid)
return ERR_PTR(-ENOENT);
repeat:
page = grab_cache_page(mapping, nid);
if (!page)
return ERR_PTR(-ENOMEM);
@ -961,12 +960,6 @@ struct page *get_node_page_ra(struct page *parent, int start)
f2fs_put_page(page, 1);
return ERR_PTR(-EIO);
}
/* Has the page been truncated? */
if (page->mapping != mapping) {
f2fs_put_page(page, 1);
goto repeat;
}
mark_page_accessed(page);
return page;
}
@ -1189,7 +1182,7 @@ static void f2fs_invalidate_node_page(struct page *page, unsigned long offset)
static int f2fs_release_node_page(struct page *page, gfp_t wait)
{
ClearPagePrivate(page);
return 0;
return 1;
}
/*
@ -1630,8 +1623,6 @@ void flush_nat_entries(struct f2fs_sb_info *sbi)
write_lock(&nm_i->nat_tree_lock);
__del_from_nat_cache(nm_i, ne);
write_unlock(&nm_i->nat_tree_lock);
/* We can reuse this freed nid at this point */
add_free_nid(NM_I(sbi), nid);
} else {
write_lock(&nm_i->nat_tree_lock);