cvs commit: src/etc Makefile sensorsd.conf src/etc/defaults
rc.conf src/etc/rc.d Makefile sensorsd src/lib/libc/gen
sysctl.3 src/sbin/sysctl sysctl.8 sysctl.c src/share/man/man5
rc.conf.5 src/share/man/man9 Makefile sensor_attach.9 src/sys/conf f
jhb at freebsd.org
Tue Oct 16 15:10:25 PDT 2007
On Tuesday 16 October 2007 05:46:18 pm Constantine A. Murenin wrote:
> On 16/10/2007, John Baldwin <jhb at freebsd.org> wrote:
> > On Tuesday 16 October 2007 12:33:11 pm Alexander Leidinger wrote:
> > > Constantine asked for review several times on -current. He got some
> > > reviews several times for commits to perforce. He incorporated
> > > suggestions from those reviews, or explained why it is like it is and
> > > why he can not switch (with no replies with suggestions how to solve
> > > the problems he sees with the suggestions). Now you come and ask why
> > > nobody pointed out some flaws before (without telling us which
> > > technical flaws you talk about).
> > At least from my point of view this is not quite accurate as pretty much
> > my feedback to the p4 commits was ignored with basically "Well, I don't
> > doing it that way". Specifically, with regards to creating dynamic sysctl
> > trees, Constantine feels that sysctl_add_oid(9) is a hack rather than
> > recognizing that this is a feature of FreeBSD's sysctl system despite
> > repeated e-mails on the subject.
> Dear John,
> I have specifically addressed this concern of yours just several weeks ago.
> Please see the following message, which you've never replied to:
> I've used the documented parts of the FreeBSD's sysctl interface to
> preserve 100% userland compatibility with OpenBSD.
FreeBSD already provides an interface for creating dynamic sysctl trees that
is simpler than having to simulate a pseudo-tree via the .oid_handler
routine. In some cases (such as kern.proc) FreeBSD still uses a function
handler rather than giving each process its own sysctl node. However, in
other cases (generally more recent ones, and ones not as large/performance
impacting) such as dev.* or the recent proposal to give ifnet's their own
nodes under 'net.if' or the like, sysctl_add_oid(9) is used.
As to the process of walking sysctl trees being undocumented, it is simply
missing a wrapper routine ala sysctlbyname(3) and a manpage. You could
easily provide one and thus provide a facility for enumerating many different
things than having several one-off oid_handler routines to enumerate
subtrees. However, it is not some "backdoor" hack interface anymore than
sysctlbyname(3) is. They are both equally hackish or non-hackish (depending
on your point of view).
> I cannot possibly
> see why you would have a problem with such an approach other than for
> the fact that OpenBSD is not a proprietary system with wealthy
I think I'll let that speak for itself.
More information about the cvs-src