Commit c3850aa1 authored by Jaegeuk Kim's avatar Jaegeuk Kim

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: default avatarNamjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
parent 48cb76c7
......@@ -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)
......
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment