[Devel] [PATCH v12 05/18] fs: do not use destroy_super() in alloc_super() fail path
Vladimir Davydov
vdavydov at parallels.com
Tue Dec 3 05:48:52 PST 2013
On 12/03/2013 05:37 PM, Al Viro wrote:
> On Tue, Dec 03, 2013 at 01:23:01PM +0400, Vladimir Davydov wrote:
>
>> Actually, I'm not going to modify the list_lru structure, because I
>> think it's good as it is. I'd like to substitute it with a new
>> structure, memcg_list_lru, only in those places where this functionality
>> (per-memcg scanning) is really needed. This new structure would look
>> like this:
>>
>> struct memcg_list_lru {
>> struct list_lru global_lru;
>> struct list_lru **memcg_lrus;
>> struct list_head list;
>> void *old_lrus;
>> }
>>
>> Since old_lrus and memcg_lrus can be NULL under normal operation, in
>> memcg_list_lru_destroy() I'd have to check either the list or the
>> global_lru field, i.e. it would look like:
>>
>> if (!list.next)
>> /* has not been initialized */
>> return;
>>
>> or
> ... or just use hlist_head.
list_head serves as a list node here (those structures are organized in
a linked list) and I have to remove it from the list upon destruction so
hlist_head is not relevant here.
Thanks.
More information about the Devel
mailing list