On Wed, Mar 16, 2022 at 09:17:04PM +0800, Jeffle Xu wrote: > +#ifdef CONFIG_CACHEFILES_ONDEMAND > + struct xarray reqs; /* xarray of pending on-demand requests */ > + rwlock_t reqs_lock; /* Lock for reqs xarray */ Why do you have a separate rwlock when the xarray already has its own spinlock? This is usually a really bad idea.