mirror of https://github.com/torvalds/linux.git
ext4: add EXT4_LBLK_TO_B macro for logical block to bytes conversion
No functional changes. Signed-off-by: Baokun Li <libaokun1@huawei.com> Reviewed-by: Zhang Yi <yi.zhang@huawei.com> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Ojaswin Mujoo <ojaswin@linux.ibm.com> Message-ID: <20251121090654.631996-10-libaokun@huaweicloud.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
609c5e0081
commit
125d1f6a5a
|
|
@ -368,6 +368,7 @@ struct ext4_io_submit {
|
|||
blkbits))
|
||||
#define EXT4_B_TO_LBLK(inode, offset) \
|
||||
(round_up((offset), i_blocksize(inode)) >> (inode)->i_blkbits)
|
||||
#define EXT4_LBLK_TO_B(inode, lblk) ((loff_t)(lblk) << (inode)->i_blkbits)
|
||||
|
||||
/* Translate a block number to a cluster number */
|
||||
#define EXT4_B2C(sbi, blk) ((blk) >> (sbi)->s_cluster_bits)
|
||||
|
|
|
|||
|
|
@ -4562,7 +4562,7 @@ static int ext4_alloc_file_blocks(struct file *file, ext4_lblk_t offset,
|
|||
* allow a full retry cycle for any remaining allocations
|
||||
*/
|
||||
retries = 0;
|
||||
epos = (loff_t)(map.m_lblk + ret) << blkbits;
|
||||
epos = EXT4_LBLK_TO_B(inode, map.m_lblk + ret);
|
||||
inode_set_ctime_current(inode);
|
||||
if (new_size) {
|
||||
if (epos > new_size)
|
||||
|
|
|
|||
|
|
@ -837,9 +837,8 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode,
|
|||
!(flags & EXT4_GET_BLOCKS_ZERO) &&
|
||||
!ext4_is_quota_file(inode) &&
|
||||
ext4_should_order_data(inode)) {
|
||||
loff_t start_byte =
|
||||
(loff_t)map->m_lblk << inode->i_blkbits;
|
||||
loff_t length = (loff_t)map->m_len << inode->i_blkbits;
|
||||
loff_t start_byte = EXT4_LBLK_TO_B(inode, map->m_lblk);
|
||||
loff_t length = EXT4_LBLK_TO_B(inode, map->m_len);
|
||||
|
||||
if (flags & EXT4_GET_BLOCKS_IO_SUBMIT)
|
||||
ret = ext4_jbd2_inode_add_wait(handle, inode,
|
||||
|
|
@ -2235,7 +2234,6 @@ static int mpage_process_folio(struct mpage_da_data *mpd, struct folio *folio,
|
|||
ext4_lblk_t lblk = *m_lblk;
|
||||
ext4_fsblk_t pblock = *m_pblk;
|
||||
int err = 0;
|
||||
int blkbits = mpd->inode->i_blkbits;
|
||||
ssize_t io_end_size = 0;
|
||||
struct ext4_io_end_vec *io_end_vec = ext4_last_io_end_vec(io_end);
|
||||
|
||||
|
|
@ -2261,7 +2259,8 @@ static int mpage_process_folio(struct mpage_da_data *mpd, struct folio *folio,
|
|||
err = PTR_ERR(io_end_vec);
|
||||
goto out;
|
||||
}
|
||||
io_end_vec->offset = (loff_t)mpd->map.m_lblk << blkbits;
|
||||
io_end_vec->offset = EXT4_LBLK_TO_B(mpd->inode,
|
||||
mpd->map.m_lblk);
|
||||
}
|
||||
*map_bh = true;
|
||||
goto out;
|
||||
|
|
@ -2271,7 +2270,7 @@ static int mpage_process_folio(struct mpage_da_data *mpd, struct folio *folio,
|
|||
bh->b_blocknr = pblock++;
|
||||
}
|
||||
clear_buffer_unwritten(bh);
|
||||
io_end_size += (1 << blkbits);
|
||||
io_end_size += i_blocksize(mpd->inode);
|
||||
} while (lblk++, (bh = bh->b_this_page) != head);
|
||||
|
||||
io_end_vec->size += io_end_size;
|
||||
|
|
@ -2473,7 +2472,7 @@ static int mpage_map_and_submit_extent(handle_t *handle,
|
|||
io_end_vec = ext4_alloc_io_end_vec(io_end);
|
||||
if (IS_ERR(io_end_vec))
|
||||
return PTR_ERR(io_end_vec);
|
||||
io_end_vec->offset = ((loff_t)map->m_lblk) << inode->i_blkbits;
|
||||
io_end_vec->offset = EXT4_LBLK_TO_B(inode, map->m_lblk);
|
||||
do {
|
||||
err = mpage_map_one_extent(handle, mpd);
|
||||
if (err < 0) {
|
||||
|
|
@ -3513,8 +3512,8 @@ static void ext4_set_iomap(struct inode *inode, struct iomap *iomap,
|
|||
iomap->dax_dev = EXT4_SB(inode->i_sb)->s_daxdev;
|
||||
else
|
||||
iomap->bdev = inode->i_sb->s_bdev;
|
||||
iomap->offset = (u64) map->m_lblk << blkbits;
|
||||
iomap->length = (u64) map->m_len << blkbits;
|
||||
iomap->offset = EXT4_LBLK_TO_B(inode, map->m_lblk);
|
||||
iomap->length = EXT4_LBLK_TO_B(inode, map->m_len);
|
||||
|
||||
if ((map->m_flags & EXT4_MAP_MAPPED) &&
|
||||
!ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
|
||||
|
|
@ -3688,7 +3687,6 @@ static int ext4_iomap_alloc(struct inode *inode, struct ext4_map_blocks *map,
|
|||
unsigned int flags)
|
||||
{
|
||||
handle_t *handle;
|
||||
u8 blkbits = inode->i_blkbits;
|
||||
int ret, dio_credits, m_flags = 0, retries = 0;
|
||||
bool force_commit = false;
|
||||
|
||||
|
|
@ -3747,7 +3745,7 @@ static int ext4_iomap_alloc(struct inode *inode, struct ext4_map_blocks *map,
|
|||
* i_disksize out to i_size. This could be beyond where direct I/O is
|
||||
* happening and thus expose allocated blocks to direct I/O reads.
|
||||
*/
|
||||
else if (((loff_t)map->m_lblk << blkbits) >= i_size_read(inode))
|
||||
else if (EXT4_LBLK_TO_B(inode, map->m_lblk) >= i_size_read(inode))
|
||||
m_flags = EXT4_GET_BLOCKS_CREATE;
|
||||
else if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
|
||||
m_flags = EXT4_GET_BLOCKS_IO_CREATE_EXT;
|
||||
|
|
|
|||
|
|
@ -1076,7 +1076,7 @@ static int htree_dirblock_to_tree(struct file *dir_file,
|
|||
for (; de < top; de = ext4_next_entry(de, dir->i_sb->s_blocksize)) {
|
||||
if (ext4_check_dir_entry(dir, NULL, de, bh,
|
||||
bh->b_data, bh->b_size,
|
||||
(block<<EXT4_BLOCK_SIZE_BITS(dir->i_sb))
|
||||
EXT4_LBLK_TO_B(dir, block)
|
||||
+ ((char *)de - bh->b_data))) {
|
||||
/* silently ignore the rest of the block */
|
||||
break;
|
||||
|
|
@ -1630,7 +1630,7 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
|
|||
}
|
||||
set_buffer_verified(bh);
|
||||
i = search_dirblock(bh, dir, fname,
|
||||
block << EXT4_BLOCK_SIZE_BITS(sb), res_dir);
|
||||
EXT4_LBLK_TO_B(dir, block), res_dir);
|
||||
if (i == 1) {
|
||||
EXT4_I(dir)->i_dir_start_lookup = block;
|
||||
ret = bh;
|
||||
|
|
@ -1710,7 +1710,6 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir,
|
|||
struct ext4_filename *fname,
|
||||
struct ext4_dir_entry_2 **res_dir)
|
||||
{
|
||||
struct super_block * sb = dir->i_sb;
|
||||
struct dx_frame frames[EXT4_HTREE_LEVEL], *frame;
|
||||
struct buffer_head *bh;
|
||||
ext4_lblk_t block;
|
||||
|
|
@ -1729,8 +1728,7 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir,
|
|||
goto errout;
|
||||
|
||||
retval = search_dirblock(bh, dir, fname,
|
||||
block << EXT4_BLOCK_SIZE_BITS(sb),
|
||||
res_dir);
|
||||
EXT4_LBLK_TO_B(dir, block), res_dir);
|
||||
if (retval == 1)
|
||||
goto success;
|
||||
brelse(bh);
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ static int ext4_get_verity_descriptor_location(struct inode *inode,
|
|||
|
||||
end_lblk = le32_to_cpu(last_extent->ee_block) +
|
||||
ext4_ext_get_actual_len(last_extent);
|
||||
desc_size_pos = (u64)end_lblk << inode->i_blkbits;
|
||||
desc_size_pos = EXT4_LBLK_TO_B(inode, end_lblk);
|
||||
ext4_free_ext_path(path);
|
||||
|
||||
if (desc_size_pos < sizeof(desc_size_disk))
|
||||
|
|
|
|||
Loading…
Reference in New Issue