Simon Horman
2007-Sep-27 07:31 UTC
[Xen-devel] [patch 01/16] sysctl: implement CTL_UNNUMBERED
From: Eric W. Biederman <ebiederm@xmission.com> This patch takes the CTL_UNNUMBERD concept from NFS and makes it available to all new sysctl users. At the same time the sysctl binary interface maintenance documentation is updated to mention and to describe what is needed to successfully maintain the sysctl binary interface. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> --- Wed, 19 Sep 2007 15:17:27 +0900: This is a backport of some code for Linux that is needed by my backport of kexec to IA64 xen. As it patches common code Alex Williams asked me to submitt it to xen-devel, so here it is. Linux upstream, commit 7cc13edc139108bb527b692f0548dce6bc648572 fs/lockd/svc.c | 3 --- fs/nfs/sysctl.c | 5 ----- include/linux/sysctl.h | 14 +++++++++++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 6341392..8ca1808 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -353,9 +353,6 @@ EXPORT_SYMBOL(lockd_down); * Sysctl parameters (same as module parameters, different interface). */ -/* Something that isn''t CTL_ANY, CTL_NONE or a value that may clash. */ -#define CTL_UNNUMBERED -2 - static ctl_table nlm_sysctls[] = { { .ctl_name = CTL_UNNUMBERED, diff --git a/fs/nfs/sysctl.c b/fs/nfs/sysctl.c index 2fe3403..3ea50ac 100644 --- a/fs/nfs/sysctl.c +++ b/fs/nfs/sysctl.c @@ -18,11 +18,6 @@ static const int nfs_set_port_min = 0; static const int nfs_set_port_max = 65535; static struct ctl_table_header *nfs_callback_sysctl_table; -/* - * Something that isn''t CTL_ANY, CTL_NONE or a value that may clash. - * Use the same values as fs/lockd/svc.c - */ -#define CTL_UNNUMBERED -2 static ctl_table nfs_cb_sysctls[] = { #ifdef CONFIG_NFS_V4 diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index c184732..d98562f 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -6,10 +6,17 @@ **************************************************************** **************************************************************** ** + ** WARNING: ** The values in this file are exported to user space via - ** the sysctl() binary interface. However this interface - ** is unstable and deprecated and will be removed in the future. - ** For a stable interface use /proc/sys. + ** the sysctl() binary interface. Do *NOT* change the + ** numbering of any existing values here, and do not change + ** any numbers within any one set of values. If you have to + ** have to redefine an existing interface, use a new number for it. + ** The kernel will then return -ENOTDIR to any application using + ** the old binary interface. + ** + ** For new interfaces unless you really need a binary number + ** please use CTL_UNNUMBERED. ** **************************************************************** **************************************************************** @@ -48,6 +55,7 @@ struct __sysctl_args { #ifdef __KERNEL__ #define CTL_ANY -1 /* Matches any name */ #define CTL_NONE 0 +#define CTL_UNNUMBERED CTL_NONE /* sysctl without a binary number */ #endif enum -- -- Horms H: http://www.vergenet.net/~horms/ W: http://www.valinux.co.jp/en/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2007-Sep-27 10:32 UTC
[Xen-devel] Re: [patch 01/16] sysctl: implement CTL_UNNUMBERED
Keir already took this: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/aaf32d3bdc8b It''s just this morning got unblocked from the staging tree though. Cheers, Ian. On Thu, 2007-09-27 at 16:31 +0900, Simon Horman wrote:> plain text document attachment (sysctl-unnumbered.patch) > From: Eric W. Biederman <ebiederm@xmission.com> > > This patch takes the CTL_UNNUMBERD concept from NFS and makes it available to > all new sysctl users. > > At the same time the sysctl binary interface maintenance documentation is > updated to mention and to describe what is needed to successfully maintain the > sysctl binary interface. > > Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> > Acked-by: Alan Cox <alan@redhat.com> > Signed-off-by: Andrew Morton <akpm@osdl.org> > Signed-off-by: Linus Torvalds <torvalds@osdl.org> > --- > Wed, 19 Sep 2007 15:17:27 +0900: > This is a backport of some code for Linux that is needed by > my backport of kexec to IA64 xen. As it patches common code > Alex Williams asked me to submitt it to xen-devel, so here it is. > > Linux upstream, commit 7cc13edc139108bb527b692f0548dce6bc648572 > > fs/lockd/svc.c | 3 --- > fs/nfs/sysctl.c | 5 ----- > include/linux/sysctl.h | 14 +++++++++++--- > 3 files changed, 11 insertions(+), 11 deletions(-) > > diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c > index 6341392..8ca1808 100644 > --- a/fs/lockd/svc.c > +++ b/fs/lockd/svc.c > @@ -353,9 +353,6 @@ EXPORT_SYMBOL(lockd_down); > * Sysctl parameters (same as module parameters, different interface). > */ > > -/* Something that isn''t CTL_ANY, CTL_NONE or a value that may clash. */ > -#define CTL_UNNUMBERED -2 > - > static ctl_table nlm_sysctls[] = { > { > .ctl_name = CTL_UNNUMBERED, > diff --git a/fs/nfs/sysctl.c b/fs/nfs/sysctl.c > index 2fe3403..3ea50ac 100644 > --- a/fs/nfs/sysctl.c > +++ b/fs/nfs/sysctl.c > @@ -18,11 +18,6 @@ > static const int nfs_set_port_min = 0; > static const int nfs_set_port_max = 65535; > static struct ctl_table_header *nfs_callback_sysctl_table; > -/* > - * Something that isn''t CTL_ANY, CTL_NONE or a value that may clash. > - * Use the same values as fs/lockd/svc.c > - */ > -#define CTL_UNNUMBERED -2 > > static ctl_table nfs_cb_sysctls[] = { > #ifdef CONFIG_NFS_V4 > diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h > index c184732..d98562f 100644 > --- a/include/linux/sysctl.h > +++ b/include/linux/sysctl.h > @@ -6,10 +6,17 @@ > **************************************************************** > **************************************************************** > ** > + ** WARNING: > ** The values in this file are exported to user space via > - ** the sysctl() binary interface. However this interface > - ** is unstable and deprecated and will be removed in the future. > - ** For a stable interface use /proc/sys. > + ** the sysctl() binary interface. Do *NOT* change the > + ** numbering of any existing values here, and do not change > + ** any numbers within any one set of values. If you have to > + ** have to redefine an existing interface, use a new number for it. > + ** The kernel will then return -ENOTDIR to any application using > + ** the old binary interface. > + ** > + ** For new interfaces unless you really need a binary number > + ** please use CTL_UNNUMBERED. > ** > **************************************************************** > **************************************************************** > @@ -48,6 +55,7 @@ struct __sysctl_args { > #ifdef __KERNEL__ > #define CTL_ANY -1 /* Matches any name */ > #define CTL_NONE 0 > +#define CTL_UNNUMBERED CTL_NONE /* sysctl without a binary number */ > #endif > > enum > > -- >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2007-Sep-28 03:44 UTC
[Xen-devel] Re: [patch 01/16] sysctl: implement CTL_UNNUMBERED
On Thu, Sep 27, 2007 at 11:32:46AM +0100, Ian Campbell wrote:> Keir already took this: > http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/aaf32d3bdc8b > > It''s just this morning got unblocked from the staging tree though.Thanks, I''ll drop it from my series when I do my next up-port. -- Horms H: http://www.vergenet.net/~horms/ W: http://www.valinux.co.jp/en/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel