Lines Matching defs:xas
15 XA_STATE(xas, &cache->reqs, 0);
22 xas_for_each_marked(&xas, req, ULONG_MAX, CACHEFILES_REQ_NEW) {
26 xas_store(&xas, NULL);
189 XA_STATE(xas, &cache->reqs, 0);
199 xas_lock(&xas);
200 xas_for_each(&xas, req, ULONG_MAX)
201 xas_set_mark(&xas, CACHEFILES_REQ_NEW);
202 xas_unlock(&xas);
273 static struct cachefiles_req *cachefiles_ondemand_select_req(struct xa_state *xas,
280 xas_for_each_marked(xas, req, xa_max, CACHEFILES_REQ_NEW) {
305 XA_STATE(xas, &cache->reqs, cache->req_id_next);
313 req = cachefiles_ondemand_select_req(&xas, ULONG_MAX);
315 xas_set(&xas, 0);
316 req = cachefiles_ondemand_select_req(&xas, cache->req_id_next - 1);
331 xas_clear_mark(&xas, CACHEFILES_REQ_NEW);
332 cache->req_id_next = xas.xa_index + 1;
335 id = xas.xa_index;
381 XA_STATE(xas, &cache->reqs, 0);
423 xas_lock(&xas);
426 xas_unlock(&xas);
437 xas_unlock(&xas);
442 xas.xa_index = 0;
443 xas_find_marked(&xas, UINT_MAX, XA_FREE_MARK);
444 if (xas.xa_node == XAS_RESTART)
445 xas_set_err(&xas, -EBUSY);
446 xas_store(&xas, req);
447 xas_clear_mark(&xas, XA_FREE_MARK);
448 xas_set_mark(&xas, CACHEFILES_REQ_NEW);
449 xas_unlock(&xas);
450 } while (xas_nomem(&xas, GFP_KERNEL));
452 ret = xas_error(&xas);