On Mon, May 08, 2006 at 01:59:17PM +0930, Brett Lymn wrote:
[...]
> > I can understand that you'd want to remove support for the old
> > HW_DISKSTATS API, but that's not a reason to close the door to any mean
> > of providing binary compatibility for older binaries.
> >
>
> My testing may have been flawed but an old iostat binary I had did
> work with a kernel containing the updated sysctl.
>
> I just checked the old struct disk_sysctl that was returned prior to
> my changes and the only field I added was a type field that was
> previously just a pad entry to fix up 64bit alignment. So, the only
> difference is that the nfs mounts will now be returned as extra
> storage.
I'll have a closer look at it, but if you're actually binary compatible,
then it was even less of a reason to do that replacement.
You have 2 different kind of "old" users: programs that look at the MIB
{ CTL_HW, CTL_HW_DISKSTATS }, and those who resolve "hw.diskstats". I'm
not sure if there are many of the latter type, but it costs virtually
nothing to add COMPAT_30 support for them.
Of course, stuff like gkrellm will be changed to resolve "hw.iostats" and
use struct iostat in their source, anyway.
> > So please, please, have a MIB number dynamically allocated for iostats,
> > and leave HW_DISKSTATS as it was, so that maybe someone could provide
> > the necessary COMPAT_30 stub to support older binaries.
> >
>
> OK - can you point me at a sample of a dynamically allocated MIB
> number? I will fix the code up. The COMPAT_30 stub should just be a
> matter of filtering out the NFS storage from the returns.
Easy: s/HW_IOSTATS/CTL_CREATE/. Then, in the userland source, you have
to use sysctlbyname(), or first sysctlmibinfo() if you need several calls
to sysctl() afterwards (although I think resolution done by sysctlbyname()
is cached at some point).
> > I haven't looked at the details of the involved struct, but it'd better
> > be COMPAT_NETBSD32-friendly or I'll be really angry :-)
> >
>
> Well, don't get angry at me :) I didn't mess with the alignment of
> the structure.
Yes, it's fine. One thing less to worry about.
--
Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost
"When I find the controls, I'll go where I like, I'll know where I want
to be, but maybe for now I'll stay right here on a silent sea."
KT Tunstall, Silent Sea, Eye to the Telescope, 2004.
Attachment:
pgpUWFhSo6EQB.pgp
Description: PGP signature