Re: linux-next: manual merge of the sysctl tree with the net tree

From: AmÃrico Wang
Date: Mon Nov 30 2009 - 04:26:22 EST


On Mon, Nov 30, 2009 at 2:39 PM, Eric W. Biederman
<ebiederm@xxxxxxxxxxxx> wrote:
> AmÃrico Wang <xiyou.wangcong@xxxxxxxxx> writes:
>
>> On Mon, Nov 30, 2009 at 1:44 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>>> Hi Eric,
>>>
>>> Today's linux-next merge of the sysctl tree got a conflict in
>>> net/sctp/sysctl.c between commit 90f2f5318b3a5b0898fef0fec9b91376c7de7a2c
>>> ("sctp: Update SWS avaoidance receiver side algorithm") from the net tree
>>> and commit f8572d8f2a2ba75408b97dc24ef47c83671795d7 ("sysctl net: Remove
>>> unused binary sysctl code") from the sysctl tree.
>>>
>>> I fixed it up (see below) and can carry the fix as necessary. ÂI also
>>> removed the strategy member from the new added ctl_table entry.
>>> --
>>> Cheers,
>>> Stephen Rothwell          Âsfr@xxxxxxxxxxxxxxxx
>>>
>>> diff --cc net/sctp/sysctl.c
>>> index ae03ded,d50a042..0000000
>>> --- a/net/sctp/sysctl.c
>>> +++ b/net/sctp/sysctl.c
>>> @@@ -285,19 -241,7 +242,17 @@@ static ctl_table sctp_table[] =
>>> Â Â Â Â Â Â Â Â.extra1 Â Â Â Â = &zero,
>>> Â Â Â Â Â Â Â Â.extra2 Â Â Â Â = &addr_scope_max,
>>> Â Â Â Â},
>>> Â+ Â Â Â{
>>> -        .ctl_name    = CTL_UNNUMBERED,
>>> Â+       Â.procname    = "rwnd_update_shift",
>>> Â+       Â.data      = &sctp_rwnd_upd_shift,
>>> Â+       Â.maxlen     = sizeof(int),
>>> Â+       Â.mode      = 0644,
>>> -        .proc_handler  = &proc_dointvec_minmax,
>>> -        .strategy    = &sysctl_intvec,
>>> ++       Â.proc_handler  = proc_dointvec_minmax,
>>
>> Hey, what's this??
>
> The short version is I am running a git tree that holds all of
> the necessary cleanups to remove the support for binary sysctl handlers.
>
> The binary sysctl support continues to be provided in kernel/sysctl_binary.c
> with a compatibility wrapper. ÂThis has been reviewed on linux-kernel
> and written up in lwn.

Yeah, I saw your patches, but didn't have a chance to look at them closely.

>
> In my tree .ctl_name and .strategy have been removed as they exist
> only to support binary sysctls and are not strictly needed today.
> .ctl_name = CTL_UNNUMBERED is equivalent to .ctl_name = 0, and setting
> .strategy on new sysctl table entries without a ctl_name is a harmless
> bug. ÂSince I was in there I also removed all of the unnecessary ampersands
> from in front of proc_dointvec_minmax.
>
> Since I have touched practically every sysctl table entry in the kernel
> new sysctl additions will almost inevitably cause a small by trivially
> to resolve conflict (due to the fact I have almost certainly changed
> the proceeding and succeeding sysctl table entries).
>
> Currently this only the second sysctl added this kernel cycle, and it
> looks like this work happened in parallel, with my changes, and somehow
> David missed this commit in his September pull, so the changes just
> showed up in net-next.
>
> It would seem to require talent to mess up the merge conflicts, and
> getting it wrong will result in a tree that won't compile so I am not
> going to worry about it until Linux pulls one of our trees.

Thanks for this explanation, I see...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/