diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index ee88058acd63c838e6555511a8d2a8ecbcde2b1b..8068b015ece59b577333e25ec8ee5f6d871f0983 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -573,7 +573,6 @@ static int truncate_partial_data_page(struct inode *inode, u64 from, int truncate_blocks(struct inode *inode, u64 from, bool lock) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); - unsigned int blocksize = inode->i_sb->s_blocksize; struct dnode_of_data dn; pgoff_t free_from; int count = 0, err = 0; @@ -582,7 +581,7 @@ int truncate_blocks(struct inode *inode, u64 from, bool lock) trace_f2fs_truncate_blocks_enter(inode, from); - free_from = (pgoff_t)F2FS_BYTES_TO_BLK(from + blocksize - 1); + free_from = (pgoff_t)F2FS_BLK_ALIGN(from); if (free_from >= sbi->max_file_blocks) goto free_partial; diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index f7886b46478d138d1f8af661d758d0813603da36..ecfc2465da9bf59d7813f532c9e13ca92d0316ba 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -2581,8 +2581,7 @@ static int __get_nat_bitmaps(struct f2fs_sb_info *sbi) if (!enabled_nat_bits(sbi, NULL)) return 0; - nm_i->nat_bits_blocks = F2FS_BYTES_TO_BLK((nat_bits_bytes << 1) + 8 + - F2FS_BLKSIZE - 1); + nm_i->nat_bits_blocks = F2FS_BLK_ALIGN((nat_bits_bytes << 1) + 8); nm_i->nat_bits = f2fs_kzalloc(sbi, nm_i->nat_bits_blocks << F2FS_BLKSIZE_BITS, GFP_KERNEL); if (!nm_i->nat_bits)