[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1250439.1681480404@warthog.procyon.org.uk>
Date: Fri, 14 Apr 2023 14:53:24 +0100
From: David Howells <dhowells@...hat.com>
To: Jia Zhu <zhujia.zj@...edance.com>
Cc: dhowells@...hat.com, linux-cachefs@...hat.com,
linux-erofs@...ts.ozlabs.org, linux-kernel@...r.kernel.org,
jefflexu@...ux.alibaba.com, hsiangkao@...ux.alibaba.com,
yinxin.x@...edance.com
Subject: Re: [PATCH V5 5/5] cachefiles: add restore command to recover inflight ondemand read requests
Jia Zhu <zhujia.zj@...edance.com> wrote:
> +int cachefiles_ondemand_restore(struct cachefiles_cache *cache, char *args)
> +{
> + struct cachefiles_req *req;
> +
> + XA_STATE(xas, &cache->reqs, 0);
> +
> + if (!test_bit(CACHEFILES_ONDEMAND_MODE, &cache->flags))
> + return -EOPNOTSUPP;
> +
> + /*
> + * Reset the requests to CACHEFILES_REQ_NEW state, so that the
> + * requests have been processed halfway before the crash of the
> + * user daemon could be reprocessed after the recovery.
> + */
> + xas_lock(&xas);
> + xas_for_each(&xas, req, ULONG_MAX)
> + xas_set_mark(&xas, CACHEFILES_REQ_NEW);
> + xas_unlock(&xas);
> +
> + wake_up_all(&cache->daemon_pollwq);
> + return 0;
> +}
Should there be a check to see if this is needed?
David
Powered by blists - more mailing lists