Messages in this thread | | | From | Kay Sievers <> | Date | Thu, 2 Jun 2011 15:01:55 +0200 | Subject | Re: [PATCH] sysctl: add support for poll() |
| |
On Thu, Jun 2, 2011 at 14:43, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > So this all belongs in conman, network manager and other similar > systems and I'd suggest they try and deal with the meaningful IP world > questions of "what list of names do I posess for purpose X on network Y" > and "is this one of my names on ..."
Higher level interfaces already live in the system services to set and get the names in various ways. But we also need to support changes by the old and simple tools. Calling hostname(1) must work just like everything else. It changes state in the kernel, we need to know it and adapt to it.
>> The alternative is to have a process constantly polling and reading >> the file, which is nothing we even want to think about in 2011. > > Or to manage it properly.
That's just a dream. We do it properly, but we have no control over everything. You've been yourself in that position, and have seen that some stuff will 'never' change, we better just support it instead of hoping it will not be used. Especially when it's that damn simple and clean.
>> It's just another special case to bring us out of the UNIX stone age >> of doing things. :) > > Unfortunately not. It's a misguided attempt to follow stone age Unix 'one > short name' policy. Forget utsname node names, they are a historical > quirk of UUCP and friends and on many OS platforms will be limited to 15 > chars !
That's not a problem. We support pretty names in the higher stack just fine, but there is a tone of stuff that depends on gethostname(), sethostname() and we have to support that.
> As to poll in general I can see some of the other proc files being > more relevant, eg for process monitoring tools being able to poll > in /proc/<pid> and some of the proc/sys and sysctl data that does change > meaningfully.
Yeah, being able to watch a pid with such a simple interface would be great to have.
> Utsname however is not one of those things.
I think it is.
As always, what are the alternatives you would propose, to watch sethostname() changes to the system. And 'it should not be used', or 'it should be centrally intercepted' does not count, the reality will go on without such rules.
Kay
| |