aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/node.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-13 20:24:32 -0400
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-20 05:30:13 -0400
commitc3850aa1cb25872fddacd7abd8dfb021411e92ee (patch)
treebca15120146f17ce472eb64718579f4d7ce8eaa0 /fs/f2fs/node.c
parent48cb76c7be7056810cdcdcdcd8d90d3fdc4e250f (diff)
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>
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r--fs/f2fs/node.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 94951d9aff4c..bf9172bbbb00 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -933,7 +933,6 @@ struct page *get_node_page_ra(struct page *parent, int start)
933 if (!nid) 933 if (!nid)
934 return ERR_PTR(-ENOENT); 934 return ERR_PTR(-ENOENT);
935 935
936repeat:
937 page = grab_cache_page(mapping, nid); 936 page = grab_cache_page(mapping, nid);
938 if (!page) 937 if (!page)
939 return ERR_PTR(-ENOMEM); 938 return ERR_PTR(-ENOMEM);
@@ -961,12 +960,6 @@ page_hit:
961 f2fs_put_page(page, 1); 960 f2fs_put_page(page, 1);
962 return ERR_PTR(-EIO); 961 return ERR_PTR(-EIO);
963 } 962 }
964
965 /* Has the page been truncated? */
966 if (page->mapping != mapping) {
967 f2fs_put_page(page, 1);
968 goto repeat;
969 }
970 mark_page_accessed(page); 963 mark_page_accessed(page);
971 return page; 964 return page;
972} 965}
@@ -1189,7 +1182,7 @@ static void f2fs_invalidate_node_page(struct page *page, unsigned long offset)
1189static int f2fs_release_node_page(struct page *page, gfp_t wait) 1182static int f2fs_release_node_page(struct page *page, gfp_t wait)
1190{ 1183{
1191 ClearPagePrivate(page); 1184 ClearPagePrivate(page);
1192 return 0; 1185 return 1;
1193} 1186}
1194 1187
1195/* 1188/*
@@ -1630,8 +1623,6 @@ flush_now:
1630 write_lock(&nm_i->nat_tree_lock); 1623 write_lock(&nm_i->nat_tree_lock);
1631 __del_from_nat_cache(nm_i, ne); 1624 __del_from_nat_cache(nm_i, ne);
1632 write_unlock(&nm_i->nat_tree_lock); 1625 write_unlock(&nm_i->nat_tree_lock);
1633
1634 /* We can reuse this freed nid at this point */
1635 add_free_nid(NM_I(sbi), nid); 1626 add_free_nid(NM_I(sbi), nid);
1636 } else { 1627 } else {
1637 write_lock(&nm_i->nat_tree_lock); 1628 write_lock(&nm_i->nat_tree_lock);