[Ocfs2-devel] [PATCH] Track negative dentries

Goldwyn Rodrigues rgoldwyn at gmail.com
Wed Jun 23 13:27:50 PDT 2010


On Wed, Jun 23, 2010 at 2:05 PM, Sunil Mushran <sunil.mushran at oracle.com> wrote:
> On 06/23/2010 11:25 AM, Goldwyn Rodrigues wrote:
>>>>
>>>> +void ocfs2_dentry_attach_gen(struct dentry *dentry)
>>>> +{
>>>> +       int *gen = (int *)kmalloc(sizeof(int), GFP_KERNEL);
>>>> +       *gen = OCFS2_I(dentry->d_parent->d_inode)->ip_generation;
>>>> +       /* Generation numbers are specifically for negative dentries */
>>>> +       if (dentry->d_inode)
>>>> +               BUG();
>>>> +       dentry->d_fsdata = (void *)gen;
>>>> +}
>>>> +
>>>>
>>>>
>>>
>>> kmalloc()s can fail. If this is just an int, why not just store it
>>> directly in d_fsdata. Add appropriate casts.
>>>
>>
>> This will cause compilation warnings for either x86_64 or i686 systems
>> depending on the data type we choose. I will do this anyways.
>>
>
> See if you can silence the warning. My main problem here is that
> we don't handle the error case. So if kmalloc() is seen as the best
> solution, go ahead use it, but do handle the ENOMEM case.
>

Oh yes, changing the (function) variables to long should do it, since
long is the same size as pointer.
I will make the change and test it. Thanks.

-- 
Goldwyn



More information about the Ocfs2-devel mailing list