f2fs: fix wrong AUTO_RECOVER condition

If i_size is not aligned to the f2fs's block size, we should not skip inode
update during fsync.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Jaegeuk Kim 2016-11-16 18:53:16 -08:00
parent aca5463a20
commit 8df5d34aa0

View file

@ -1774,7 +1774,8 @@ static inline bool f2fs_skip_inode_update(struct inode *inode, int dsync)
spin_unlock(&sbi->inode_lock[DIRTY_META]);
return ret;
}
if (!is_inode_flag_set(inode, FI_AUTO_RECOVER))
if (!is_inode_flag_set(inode, FI_AUTO_RECOVER) ||
i_size_read(inode) & PAGE_MASK)
return false;
return F2FS_I(inode)->last_disk_size == i_size_read(inode);
}