[Ocfs2-devel] [PATCH 1/1] ocfs2: add extent block stealing for ocfs2
Tao Ma
tao.ma at oracle.com
Thu Jan 21 18:50:38 PST 2010
Joel Becker wrote:
> On Thu, Jan 21, 2010 at 06:12:53PM -0800, Sunil Mushran wrote:
>> The get and set routines are a bit convoluted. I agree with the hiding
>> of the
>> type by adding ocfs2_steal_meta() and ocfs2_steal_inode(). But the get/set
>> routines will be better off just accepting the type.
>>
>> Right now the flow is:
>>
>> ocfs2_steal_resource()
>> + if (type == INODE_ALLOC_SYSTEM_INODE)
>> + ocfs2_set_inode_steal_slot(osb, slot);
>>
>> ocfs2_set_inode_steal_slot()
>> + return ocfs2_set_steal_slot(osb, slot, INODE_ALLOC_SYSTEM_INODE);
>>
>> ocfs2_set_steal_slot()
>> + if (type == INODE_ALLOC_SYSTEM_INODE)
>> + osb->s_inode_steal_slot = slot;
>
> I see your point. First, most of the slot stealing functions
> don't belong in the header at all. They're only used in suballoc.c, so
> make them static there.
> The set routine is only called from ocfs2_steal_resource(). It
> should take the type, because the type is already there. The get
> routines are called from other places.
> ocfs2_steal_resource() should call __ocfs2_set_steal_slot()
> directly. No need for ocfs2_set_{inode,meta}_steal_slot(). Those
> should be removed. ocfs2_steal_resource() should call
> __ocfs2_get_steal_slot() directly to pass the type. The other callers
> of ocfs2_get_{inode,meta}_steal_slot() remain the same.
I tried to catch up with the discussion. agreed with Joel.
In ocfs2_steal_resource, we know the type, so just call
__ocfs2_{set,get}_steal_slot function with type should be ok.
Regards,
Tao
More information about the Ocfs2-devel
mailing list