Jia Zhu <zhujia.zj@xxxxxxxxxxxxx> wrote: > if (cachefiles_in_ondemand_mode(cache)) { > - if (!xa_empty(&cache->reqs)) > - mask |= EPOLLIN; > + if (!xa_empty(xa)) { > + rcu_read_lock(); > + xa_for_each_marked(xa, index, req, CACHEFILES_REQ_NEW) { > + if (!cachefiles_ondemand_is_reopening_read(req)) { > + mask |= EPOLLIN; > + break; > + } > + } > + rcu_read_unlock(); You should probably use xas_for_each_marked() instead of xa_for_each_marked() as the former should perform better. David -- Linux-cachefs mailing list Linux-cachefs@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/linux-cachefs