diff options
Diffstat (limited to 'fs/f2fs')
-rw-r--r-- | fs/f2fs/inode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index 0e69aa90238d..2c39999f3868 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c | |||
@@ -267,6 +267,7 @@ int f2fs_write_inode(struct inode *inode, struct writeback_control *wbc) | |||
267 | void f2fs_evict_inode(struct inode *inode) | 267 | void f2fs_evict_inode(struct inode *inode) |
268 | { | 268 | { |
269 | struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb); | 269 | struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb); |
270 | nid_t xnid = F2FS_I(inode)->i_xattr_nid; | ||
270 | 271 | ||
271 | trace_f2fs_evict_inode(inode); | 272 | trace_f2fs_evict_inode(inode); |
272 | truncate_inode_pages_final(&inode->i_data); | 273 | truncate_inode_pages_final(&inode->i_data); |
@@ -296,6 +297,8 @@ void f2fs_evict_inode(struct inode *inode) | |||
296 | sb_end_intwrite(inode->i_sb); | 297 | sb_end_intwrite(inode->i_sb); |
297 | no_delete: | 298 | no_delete: |
298 | invalidate_mapping_pages(NODE_MAPPING(sbi), inode->i_ino, inode->i_ino); | 299 | invalidate_mapping_pages(NODE_MAPPING(sbi), inode->i_ino, inode->i_ino); |
300 | if (xnid) | ||
301 | invalidate_mapping_pages(NODE_MAPPING(sbi), xnid, xnid); | ||
299 | if (is_inode_flag_set(F2FS_I(inode), FI_APPEND_WRITE)) | 302 | if (is_inode_flag_set(F2FS_I(inode), FI_APPEND_WRITE)) |
300 | add_dirty_inode(sbi, inode->i_ino, APPEND_INO); | 303 | add_dirty_inode(sbi, inode->i_ino, APPEND_INO); |
301 | if (is_inode_flag_set(F2FS_I(inode), FI_UPDATE_WRITE)) | 304 | if (is_inode_flag_set(F2FS_I(inode), FI_UPDATE_WRITE)) |