Re: [PATCH next] btrfs: fix error code in add_delayed_ref_head()

From: Filipe Manana
Date: Thu Oct 31 2024 - 08:00:26 EST


On Thu, Oct 31, 2024 at 7:23 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>
> xa_err errors are equivalent to "error_code * 4 + 2". We want to return
> error pointers here so we can't just cast them back and forth. Use
> xa_err() to do the conversion.
>
> Fixes: 6d50990e6be2 ("btrfs: track delayed ref heads in an xarray")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Thanks, since it's not yet in Linus' tree and we're on time, I'll fold
it to the original patch.

> ---
> fs/btrfs/delayed-ref.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 1f97e1e5c66c..012fce255866 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -848,7 +848,7 @@ add_delayed_ref_head(struct btrfs_trans_handle *trans,
> if (xa_is_err(existing)) {
> /* Memory was preallocated by the caller. */
> ASSERT(xa_err(existing) != -ENOMEM);
> - return ERR_CAST(existing);
> + return ERR_PTR(xa_err(existing));
> } else if (WARN_ON(existing)) {
> /*
> * Shouldn't happen we just did a lookup before under
> --
> 2.45.2
>
>