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 3a3a5ead7b
commit 97dd26ad83

View file

@ -1721,7 +1721,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);
}