[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b8549484-5385-0410-c849-4d0c591574f9@linux.alibaba.com>
Date: Wed, 17 May 2023 08:07:54 +0800
From: Jingbo Xu <jefflexu@...ux.alibaba.com>
To: miklos@...redi.hu, vgoyal@...hat.com, linux-fsdevel@...r.kernel.org
Cc: gerry@...ux.alibaba.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] fuse: fix return value of inode_inline_reclaim_one_dmap
in error path
ping...
On 4/24/23 8:32 PM, Jingbo Xu wrote:
> When range already got reclaimed by somebody else, return NULL so that
> the caller could retry to allocate or reclaim another range, instead of
> mistakenly returning the range already got reclaimed and reused by
> others.
>
> Reported-by: Liu Jiang <gerry@...ux.alibaba.com>
> Fixes: 9a752d18c85a ("virtiofs: add logic to free up a memory range")
> Signed-off-by: Jingbo Xu <jefflexu@...ux.alibaba.com>
> ---
> fs/fuse/dax.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/fuse/dax.c b/fs/fuse/dax.c
> index 8e74f278a3f6..59aadfd89ee5 100644
> --- a/fs/fuse/dax.c
> +++ b/fs/fuse/dax.c
> @@ -985,6 +985,7 @@ inode_inline_reclaim_one_dmap(struct fuse_conn_dax *fcd, struct inode *inode,
> node = interval_tree_iter_first(&fi->dax->tree, start_idx, start_idx);
> /* Range already got reclaimed by somebody else */
> if (!node) {
> + dmap = NULL;
> if (retry)
> *retry = true;
> goto out_write_dmap_sem;
--
Thanks,
Jingbo
Powered by blists - more mailing lists