Re: [PATCH V5 5/5] cachefiles: add restore command to recover inflight ondemand read requests

From: David Howells
Date: Fri Apr 14 2023 - 09:54:17 EST


Jia Zhu <zhujia.zj@xxxxxxxxxxxxx> 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