diff options
Diffstat (limited to 'fs/nilfs2')
-rw-r--r-- | fs/nilfs2/inode.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index 7e350c562e0e..b9c5726120e3 100644 --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c | |||
@@ -783,16 +783,14 @@ void nilfs_evict_inode(struct inode *inode) | |||
783 | int ret; | 783 | int ret; |
784 | 784 | ||
785 | if (inode->i_nlink || !ii->i_root || unlikely(is_bad_inode(inode))) { | 785 | if (inode->i_nlink || !ii->i_root || unlikely(is_bad_inode(inode))) { |
786 | if (inode->i_data.nrpages) | 786 | truncate_inode_pages_final(&inode->i_data); |
787 | truncate_inode_pages(&inode->i_data, 0); | ||
788 | clear_inode(inode); | 787 | clear_inode(inode); |
789 | nilfs_clear_inode(inode); | 788 | nilfs_clear_inode(inode); |
790 | return; | 789 | return; |
791 | } | 790 | } |
792 | nilfs_transaction_begin(sb, &ti, 0); /* never fails */ | 791 | nilfs_transaction_begin(sb, &ti, 0); /* never fails */ |
793 | 792 | ||
794 | if (inode->i_data.nrpages) | 793 | truncate_inode_pages_final(&inode->i_data); |
795 | truncate_inode_pages(&inode->i_data, 0); | ||
796 | 794 | ||
797 | /* TODO: some of the following operations may fail. */ | 795 | /* TODO: some of the following operations may fail. */ |
798 | nilfs_truncate_bmap(ii, 0); | 796 | nilfs_truncate_bmap(ii, 0); |