aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2015-01-26 07:22:55 -0500
committerJaegeuk Kim <jaegeuk@kernel.org>2015-02-11 20:04:37 -0500
commitfeeb0debfb3454726ebea3871cecac35e144d1bb (patch)
treea495bd503ddf854117e7a8ef351ed94859c51139 /fs/f2fs
parent3b6709b771b3335856643df8f6e0158db150a438 (diff)
f2fs: make truncate_inline_date static
1. make truncate_inline_date static; 2. remove parameter @from of truncate_inline_date as callers only pass zero. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/f2fs.h1
-rw-r--r--fs/f2fs/inline.c25
2 files changed, 9 insertions, 17 deletions
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 5e16085d98d3..9e1fcc1f64ee 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1649,7 +1649,6 @@ int f2fs_read_inline_data(struct inode *, struct page *);
1649int f2fs_convert_inline_page(struct dnode_of_data *, struct page *); 1649int f2fs_convert_inline_page(struct dnode_of_data *, struct page *);
1650int f2fs_convert_inline_inode(struct inode *); 1650int f2fs_convert_inline_inode(struct inode *);
1651int f2fs_write_inline_data(struct inode *, struct page *); 1651int f2fs_write_inline_data(struct inode *, struct page *);
1652void truncate_inline_data(struct page *, u64);
1653bool recover_inline_data(struct inode *, struct page *); 1652bool recover_inline_data(struct inode *, struct page *);
1654struct f2fs_dir_entry *find_in_inline_dir(struct inode *, struct qstr *, 1653struct f2fs_dir_entry *find_in_inline_dir(struct inode *, struct qstr *,
1655 struct page **); 1654 struct page **);
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c
index fa2aa2f7bb96..1484c00133cd 100644
--- a/fs/f2fs/inline.c
+++ b/fs/f2fs/inline.c
@@ -50,6 +50,12 @@ void read_inline_data(struct page *page, struct page *ipage)
50 SetPageUptodate(page); 50 SetPageUptodate(page);
51} 51}
52 52
53static void truncate_inline_data(struct page *ipage)
54{
55 f2fs_wait_on_page_writeback(ipage, NODE);
56 memset(inline_data_addr(ipage), 0, MAX_INLINE_DATA);
57}
58
53int f2fs_read_inline_data(struct inode *inode, struct page *page) 59int f2fs_read_inline_data(struct inode *inode, struct page *page)
54{ 60{
55 struct page *ipage; 61 struct page *ipage;
@@ -125,7 +131,7 @@ no_update:
125 set_inode_flag(F2FS_I(dn->inode), FI_APPEND_WRITE); 131 set_inode_flag(F2FS_I(dn->inode), FI_APPEND_WRITE);
126 132
127 /* clear inline data and flag after data writeback */ 133 /* clear inline data and flag after data writeback */
128 truncate_inline_data(dn->inode_page, 0); 134 truncate_inline_data(dn->inode_page);
129clear_out: 135clear_out:
130 stat_dec_inline_inode(dn->inode); 136 stat_dec_inline_inode(dn->inode);
131 f2fs_clear_inline_inode(dn->inode); 137 f2fs_clear_inline_inode(dn->inode);
@@ -198,19 +204,6 @@ int f2fs_write_inline_data(struct inode *inode, struct page *page)
198 return 0; 204 return 0;
199} 205}
200 206
201void truncate_inline_data(struct page *ipage, u64 from)
202{
203 void *addr;
204
205 if (from >= MAX_INLINE_DATA)
206 return;
207
208 f2fs_wait_on_page_writeback(ipage, NODE);
209
210 addr = inline_data_addr(ipage);
211 memset(addr + from, 0, MAX_INLINE_DATA - from);
212}
213
214bool recover_inline_data(struct inode *inode, struct page *npage) 207bool recover_inline_data(struct inode *inode, struct page *npage)
215{ 208{
216 struct f2fs_sb_info *sbi = F2FS_I_SB(inode); 209 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
@@ -252,7 +245,7 @@ process_inline:
252 if (f2fs_has_inline_data(inode)) { 245 if (f2fs_has_inline_data(inode)) {
253 ipage = get_node_page(sbi, inode->i_ino); 246 ipage = get_node_page(sbi, inode->i_ino);
254 f2fs_bug_on(sbi, IS_ERR(ipage)); 247 f2fs_bug_on(sbi, IS_ERR(ipage));
255 truncate_inline_data(ipage, 0); 248 truncate_inline_data(ipage);
256 f2fs_clear_inline_inode(inode); 249 f2fs_clear_inline_inode(inode);
257 update_inode(inode, ipage); 250 update_inode(inode, ipage);
258 f2fs_put_page(ipage, 1); 251 f2fs_put_page(ipage, 1);
@@ -370,7 +363,7 @@ static int f2fs_convert_inline_dir(struct inode *dir, struct page *ipage,
370 set_page_dirty(page); 363 set_page_dirty(page);
371 364
372 /* clear inline dir and flag after data writeback */ 365 /* clear inline dir and flag after data writeback */
373 truncate_inline_data(ipage, 0); 366 truncate_inline_data(ipage);
374 367
375 stat_dec_inline_dir(dir); 368 stat_dec_inline_dir(dir);
376 clear_inode_flag(F2FS_I(dir), FI_INLINE_DENTRY); 369 clear_inode_flag(F2FS_I(dir), FI_INLINE_DENTRY);