2023-05-03 14:39:13

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH v4 11/12] ext4: make ext4_es_insert_extent() return void

On Mon 24-04-23 11:38:45, Baokun Li wrote:
> Now ext4_es_insert_extent() never return error, so make it return void.
>
> Signed-off-by: Baokun Li <[email protected]>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> fs/ext4/extents.c | 5 +++--
> fs/ext4/extents_status.c | 14 ++++++--------
> fs/ext4/extents_status.h | 6 +++---
> fs/ext4/inode.c | 21 ++++++---------------
> 4 files changed, 18 insertions(+), 28 deletions(-)
>
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index e6695fec59af..d555ed924f37 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -3136,8 +3136,9 @@ static int ext4_zeroout_es(struct inode *inode, struct ext4_extent *ex)
> if (ee_len == 0)
> return 0;
>
> - return ext4_es_insert_extent(inode, ee_block, ee_len, ee_pblock,
> - EXTENT_STATUS_WRITTEN);
> + ext4_es_insert_extent(inode, ee_block, ee_len, ee_pblock,
> + EXTENT_STATUS_WRITTEN);
> + return 0;
> }
>
> /* FIXME!! we need to try to merge to left or right after zero-out */
> diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c
> index b12c5cfdf601..fcbfd2f26650 100644
> --- a/fs/ext4/extents_status.c
> +++ b/fs/ext4/extents_status.c
> @@ -831,12 +831,10 @@ static int __es_insert_extent(struct inode *inode, struct extent_status *newes,
> /*
> * ext4_es_insert_extent() adds information to an inode's extent
> * status tree.
> - *
> - * Return 0 on success, error code on failure.
> */
> -int ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> - ext4_lblk_t len, ext4_fsblk_t pblk,
> - unsigned int status)
> +void ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> + ext4_lblk_t len, ext4_fsblk_t pblk,
> + unsigned int status)
> {
> struct extent_status newes;
> ext4_lblk_t end = lblk + len - 1;
> @@ -847,13 +845,13 @@ int ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> struct extent_status *es2 = NULL;
>
> if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
> - return 0;
> + return;
>
> es_debug("add [%u/%u) %llu %x to extent status tree of inode %lu\n",
> lblk, len, pblk, status, inode->i_ino);
>
> if (!len)
> - return 0;
> + return;
>
> BUG_ON(end < lblk);
>
> @@ -905,7 +903,7 @@ int ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> goto retry;
>
> ext4_es_print_tree(inode);
> - return 0;
> + return;
> }
>
> /*
> diff --git a/fs/ext4/extents_status.h b/fs/ext4/extents_status.h
> index c22edb931f1b..d9847a4a25db 100644
> --- a/fs/ext4/extents_status.h
> +++ b/fs/ext4/extents_status.h
> @@ -127,9 +127,9 @@ extern int __init ext4_init_es(void);
> extern void ext4_exit_es(void);
> extern void ext4_es_init_tree(struct ext4_es_tree *tree);
>
> -extern int ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> - ext4_lblk_t len, ext4_fsblk_t pblk,
> - unsigned int status);
> +extern void ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> + ext4_lblk_t len, ext4_fsblk_t pblk,
> + unsigned int status);
> extern void ext4_es_cache_extent(struct inode *inode, ext4_lblk_t lblk,
> ext4_lblk_t len, ext4_fsblk_t pblk,
> unsigned int status);
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 4221b2dafeb5..ffa40ce04c27 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -594,10 +594,8 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode,
> ext4_es_scan_range(inode, &ext4_es_is_delayed, map->m_lblk,
> map->m_lblk + map->m_len - 1))
> status |= EXTENT_STATUS_DELAYED;
> - ret = ext4_es_insert_extent(inode, map->m_lblk,
> - map->m_len, map->m_pblk, status);
> - if (ret < 0)
> - retval = ret;
> + ext4_es_insert_extent(inode, map->m_lblk, map->m_len,
> + map->m_pblk, status);
> }
> up_read((&EXT4_I(inode)->i_data_sem));
>
> @@ -706,12 +704,8 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode,
> ext4_es_scan_range(inode, &ext4_es_is_delayed, map->m_lblk,
> map->m_lblk + map->m_len - 1))
> status |= EXTENT_STATUS_DELAYED;
> - ret = ext4_es_insert_extent(inode, map->m_lblk, map->m_len,
> - map->m_pblk, status);
> - if (ret < 0) {
> - retval = ret;
> - goto out_sem;
> - }
> + ext4_es_insert_extent(inode, map->m_lblk, map->m_len,
> + map->m_pblk, status);
> }
>
> out_sem:
> @@ -1779,7 +1773,6 @@ static int ext4_da_map_blocks(struct inode *inode, sector_t iblock,
> set_buffer_new(bh);
> set_buffer_delay(bh);
> } else if (retval > 0) {
> - int ret;
> unsigned int status;
>
> if (unlikely(retval != map->m_len)) {
> @@ -1792,10 +1785,8 @@ static int ext4_da_map_blocks(struct inode *inode, sector_t iblock,
>
> status = map->m_flags & EXT4_MAP_UNWRITTEN ?
> EXTENT_STATUS_UNWRITTEN : EXTENT_STATUS_WRITTEN;
> - ret = ext4_es_insert_extent(inode, map->m_lblk, map->m_len,
> - map->m_pblk, status);
> - if (ret != 0)
> - retval = ret;
> + ext4_es_insert_extent(inode, map->m_lblk, map->m_len,
> + map->m_pblk, status);
> }
>
> out_unlock:
> --
> 2.31.1
>
--
Jan Kara <[email protected]>
SUSE Labs, CR