Re: [RFC][PATCH 1 of 4] Configfs is really sysfs

Joel Becker
2005-09-04T04:41:47Z

On Sat, Sep 03, 2005 at 09:12:24PM -0700, Joel Becker wrote:
> On Tue, Aug 30, 2005 at 04:28:46PM -0700, Andrew Morton wrote:
> > Sure, but all that copying-and-pasting really sucks. I'm sure there's some
> > way of providing the slightly different semantics from the same codebase?

The final piece of similar code is the buffered I/O setup for
attribute files. Here, the major difference is how config_items and
kobjects refer to their show/store operations. The functions have
different rules on this.
A kobject doesn't need show/store, it can provide one for the
entire kset or subsystem. A config_item necessarily has one for its
type, and cannot chain up. So somehow the code would need to know which
was the case.
A kobject directly has a sysfs_ops structure. The config_item
has show/store in a config_item_operations strucutre. If you split them
out, you add a pointer and some needless complexity. So the different
code paths need to refer to the functions differently.
The attribute and configfs_attribute structures are physically
identical, but the sysfs one has poor naming (IMHO). If struct
attribute wasn't going to change, and no magic would be added to its
usage (magic like kobject_add()'s intertwining with sysfs), they could
probably be shared.

Joel

--

"The doctrine of human equality reposes on this: that there is no
man really clever who has not found that he is stupid."
- Gilbert K. Chesterson

Joel Becker
Senior Member of Technical Staff
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127