Re: [PATCH v4 2/2] btrfs: reserve new relocation block-group after successful relocation

From: Naohiro Aota
Date: Fri May 24 2024 - 04:33:34 EST


On Thu, May 23, 2024 at 05:21:59PM GMT, Johannes Thumshirn wrote:
> From: Johannes Thumshirn <johannes.thumshirn@xxxxxxx>
>
> After we've committed a relocation transaction, we know we have just freed
> up space. Set it as hint for the next relocation.
>
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx>

Reviewed-by: Naohiro Aota <naohiro.aota@xxxxxxx>

Regards,

> ---
> fs/btrfs/relocation.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
> index 5f1a909a1d91..02a9ebf96a95 100644
> --- a/fs/btrfs/relocation.c
> +++ b/fs/btrfs/relocation.c
> @@ -3811,6 +3811,13 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc)
> ret = btrfs_commit_transaction(trans);
> if (ret && !err)
> err = ret;
> +
> + /*
> + * We know we have just freed space, set it as hint for the
> + * next relocation.
> + */
> + if (!err)
> + btrfs_reserve_relocation_bg(fs_info);
> out_free:
> ret = clean_dirty_subvols(rc);
> if (ret < 0 && !err)
>
> --
> 2.43.0
>