Re: [PATCH 01/61] Rules on how to use sysfs in userspace programs

Greg KH
2007-07-12T22:15:28Z

On Thu, Jul 12, 2007 at 10:48:46AM +0200, Pavel Machek wrote:
> On Wed 2007-07-11 16:31:20, Greg Kroah-Hartman wrote:
> > From: Kay Sievers <kay.sievers@vrfy.org>
> >
> > Here's a document to help clear things up.
> >
> > Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> > ---
> > Documentation/sysfs-rules.txt | 166 +++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 166 insertions(+), 0 deletions(-)
> > create mode 100644 Documentation/sysfs-rules.txt
> >
> > diff --git a/Documentation/sysfs-rules.txt b/Documentation/sysfs-rules.txt
> > new file mode 100644
> > index 0000000..42861bb
> > --- /dev/null
> > +++ b/Documentation/sysfs-rules.txt
> > @@ -0,0 +1,166 @@
> > +Rules on how to access information in the Linux kernel sysfs
> > +
> > +The kernel exported sysfs exports internal kernel implementation-details
> > +and depends on internal kernel structures and layout. It is agreed upon
> > +by the kernel developers that the Linux kernel does not provide a stable
> > +internal API. As sysfs is a direct export of kernel internal
> > +structures, the sysfs interface can not provide a stable interface eighter,
> > +it may always change along with internal kernel changes.
>
> It is also agreed upon by the kernel developers that the Linux kernel
> does have a stable user<->kernel API... so we have a small problem
> here.

I agree, that is why we have described the proper ways to use /sys in a
manner that is acceptable to future changes in it.

> Maybe solution is to declare /sys unstable, but... perhaps /sys can
> stop mirroring internal structures? I do not think we should codify
> our failure to keep /sys stable here.

I think that /sys is to valuable to say it can just never be used by
userspace programs. With these suggestions, do you see any problems
with any potential future changes in the layout that you can come up
with?

thanks,

greg k-h