diff options
author | Chao Yu <chao2.yu@samsung.com> | 2014-08-02 15:26:04 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-08-02 07:43:51 -0700 |
commit | 70cfed88efa760fd165fc413cfd1801b5cc8acd2 (patch) | |
tree | a35b153679465dc4985de618ba55999174181e78 /fs/f2fs/node.c | |
parent | 70407fad85f2ec87a0cf56057c3267cd3aa22768 (diff) | |
download | lwn-70cfed88efa760fd165fc413cfd1801b5cc8acd2.tar.gz lwn-70cfed88efa760fd165fc413cfd1801b5cc8acd2.zip |
f2fs: avoid skipping recover_inline_xattr after recover_inline_data
When we recover data of inode in roll-forward procedure, and the inode has both
inline data and inline xattr. We may skip recovering inline xattr if we recover
inline data form node page first.
This patch will fix the problem that we lost inline xattr data in above
scenario.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r-- | fs/f2fs/node.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 7b5b5def65fe..d3d90d284631 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1549,7 +1549,7 @@ void recover_node_page(struct f2fs_sb_info *sbi, struct page *page, clear_node_page_dirty(page); } -static void recover_inline_xattr(struct inode *inode, struct page *page) +void recover_inline_xattr(struct inode *inode, struct page *page) { struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb); void *src_addr, *dst_addr; @@ -1588,8 +1588,6 @@ bool recover_xattr_data(struct inode *inode, struct page *page, block_t blkaddr) nid_t new_xnid = nid_of_node(page); struct node_info ni; - recover_inline_xattr(inode, page); - if (!f2fs_has_xattr_block(ofs_of_node(page))) return false; |