Jia Zhu <zhujia...@bytedance.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
--
Linux-cachefs mailing list
Linux-cachefs@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-cachefs

Reply via email to