On 3/21/22 10:01 PM, David Howells wrote:
> Jeffle Xu <jeffl...@linux.alibaba.com> wrote:
> 
>> +    read_lock(&cache->reqs_lock);
>> +
>> +    /* recheck dead state under lock */
>> +    if (test_bit(CACHEFILES_DEAD, &cache->flags)) {
>> +            read_unlock(&cache->reqs_lock);
>> +            ret = -EIO;
>> +            goto out;
>> +    }
>> +
>> +    xa_lock(xa);
>> +    ret = __xa_alloc(xa, &id, req, xa_limit_32b, GFP_KERNEL);
> 
> You're holding a spinlock.  You can't use GFP_KERNEL.

Oh yes... I've dropped into this for second time... Sorry for that.

> 
>> +static int cachefiles_ondemand_cinit(struct cachefiles_cache *cache, char 
>> *args)
>> +{
>> ...
>> +    tmp = kstrdup(args, GFP_KERNEL);
> 
> No need to copy the string.  The caller already did that and added a NUL for
> good measure.

Right.


> 
> I would probably move most of the functions added in this patch to
> fs/cachefiles/ondemand.c.

Alright.


-- 
Thanks,
Jeffle

--
Linux-cachefs mailing list
Linux-cachefs@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-cachefs

Reply via email to