Subject: Re: [PATCH 02/10] Preparatory refactoring part 2.

From: Patrick McHardy <[email-masked]>
Date: Tue, 02 Oct 2007 05:19:07 +0200

Corey Hickey wrote:
> Patrick McHardy wrote:
> 
>>> +static void sfq_destroy(struct Qdisc *sch)
>>> +{
>>> +    struct sfq_sched_data *q = qdisc_priv(sch);
>>> +    sfq_q_destroy(q);
>>> +}
>>
>>
>> It does look pointless, after applying all patches sfq_destroy still
>> remains a simply wrapper around sfq_q_destroy.
> 
> 
> It does remain a wrapper, but both functions are used. It doesn't have
> to be this way, but I wanted to avoid duplicating code and I didn't see
> a better layout.
> 
> sfq_q_destroy is used in sfq_q_init if a kcalloc fails. sfq_q_init knows
> nothing about "struct Qdisc *sch", so it can't call sfq_destroy.

Thats fine, I didn't realize it was used without the struct Qdisc *
context. Changing sfq_destroy to sfq_q_destroy(qdisc_priv(sch));
would be a bit nicer though.