Loading fs/f2fs/f2fs.h +0 −1 Original line number Diff line number Diff line Loading @@ -1649,7 +1649,6 @@ int f2fs_read_inline_data(struct inode *, struct page *); int f2fs_convert_inline_page(struct dnode_of_data *, struct page *); int f2fs_convert_inline_inode(struct inode *); int f2fs_write_inline_data(struct inode *, struct page *); void truncate_inline_data(struct page *, u64); bool recover_inline_data(struct inode *, struct page *); struct f2fs_dir_entry *find_in_inline_dir(struct inode *, struct qstr *, struct page **); Loading fs/f2fs/inline.c +9 −16 Original line number Diff line number Diff line Loading @@ -50,6 +50,12 @@ void read_inline_data(struct page *page, struct page *ipage) SetPageUptodate(page); } static void truncate_inline_data(struct page *ipage) { f2fs_wait_on_page_writeback(ipage, NODE); memset(inline_data_addr(ipage), 0, MAX_INLINE_DATA); } int f2fs_read_inline_data(struct inode *inode, struct page *page) { struct page *ipage; Loading Loading @@ -125,7 +131,7 @@ int f2fs_convert_inline_page(struct dnode_of_data *dn, struct page *page) set_inode_flag(F2FS_I(dn->inode), FI_APPEND_WRITE); /* clear inline data and flag after data writeback */ truncate_inline_data(dn->inode_page, 0); truncate_inline_data(dn->inode_page); clear_out: stat_dec_inline_inode(dn->inode); f2fs_clear_inline_inode(dn->inode); Loading Loading @@ -198,19 +204,6 @@ int f2fs_write_inline_data(struct inode *inode, struct page *page) return 0; } void truncate_inline_data(struct page *ipage, u64 from) { void *addr; if (from >= MAX_INLINE_DATA) return; f2fs_wait_on_page_writeback(ipage, NODE); addr = inline_data_addr(ipage); memset(addr + from, 0, MAX_INLINE_DATA - from); } bool recover_inline_data(struct inode *inode, struct page *npage) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); Loading Loading @@ -252,7 +245,7 @@ bool recover_inline_data(struct inode *inode, struct page *npage) if (f2fs_has_inline_data(inode)) { ipage = get_node_page(sbi, inode->i_ino); f2fs_bug_on(sbi, IS_ERR(ipage)); truncate_inline_data(ipage, 0); truncate_inline_data(ipage); f2fs_clear_inline_inode(inode); update_inode(inode, ipage); f2fs_put_page(ipage, 1); Loading Loading @@ -370,7 +363,7 @@ static int f2fs_convert_inline_dir(struct inode *dir, struct page *ipage, set_page_dirty(page); /* clear inline dir and flag after data writeback */ truncate_inline_data(ipage, 0); truncate_inline_data(ipage); stat_dec_inline_dir(dir); clear_inode_flag(F2FS_I(dir), FI_INLINE_DENTRY); Loading Loading
fs/f2fs/f2fs.h +0 −1 Original line number Diff line number Diff line Loading @@ -1649,7 +1649,6 @@ int f2fs_read_inline_data(struct inode *, struct page *); int f2fs_convert_inline_page(struct dnode_of_data *, struct page *); int f2fs_convert_inline_inode(struct inode *); int f2fs_write_inline_data(struct inode *, struct page *); void truncate_inline_data(struct page *, u64); bool recover_inline_data(struct inode *, struct page *); struct f2fs_dir_entry *find_in_inline_dir(struct inode *, struct qstr *, struct page **); Loading
fs/f2fs/inline.c +9 −16 Original line number Diff line number Diff line Loading @@ -50,6 +50,12 @@ void read_inline_data(struct page *page, struct page *ipage) SetPageUptodate(page); } static void truncate_inline_data(struct page *ipage) { f2fs_wait_on_page_writeback(ipage, NODE); memset(inline_data_addr(ipage), 0, MAX_INLINE_DATA); } int f2fs_read_inline_data(struct inode *inode, struct page *page) { struct page *ipage; Loading Loading @@ -125,7 +131,7 @@ int f2fs_convert_inline_page(struct dnode_of_data *dn, struct page *page) set_inode_flag(F2FS_I(dn->inode), FI_APPEND_WRITE); /* clear inline data and flag after data writeback */ truncate_inline_data(dn->inode_page, 0); truncate_inline_data(dn->inode_page); clear_out: stat_dec_inline_inode(dn->inode); f2fs_clear_inline_inode(dn->inode); Loading Loading @@ -198,19 +204,6 @@ int f2fs_write_inline_data(struct inode *inode, struct page *page) return 0; } void truncate_inline_data(struct page *ipage, u64 from) { void *addr; if (from >= MAX_INLINE_DATA) return; f2fs_wait_on_page_writeback(ipage, NODE); addr = inline_data_addr(ipage); memset(addr + from, 0, MAX_INLINE_DATA - from); } bool recover_inline_data(struct inode *inode, struct page *npage) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); Loading Loading @@ -252,7 +245,7 @@ bool recover_inline_data(struct inode *inode, struct page *npage) if (f2fs_has_inline_data(inode)) { ipage = get_node_page(sbi, inode->i_ino); f2fs_bug_on(sbi, IS_ERR(ipage)); truncate_inline_data(ipage, 0); truncate_inline_data(ipage); f2fs_clear_inline_inode(inode); update_inode(inode, ipage); f2fs_put_page(ipage, 1); Loading Loading @@ -370,7 +363,7 @@ static int f2fs_convert_inline_dir(struct inode *dir, struct page *ipage, set_page_dirty(page); /* clear inline dir and flag after data writeback */ truncate_inline_data(ipage, 0); truncate_inline_data(ipage); stat_dec_inline_dir(dir); clear_inode_flag(F2FS_I(dir), FI_INLINE_DENTRY); Loading