Greg KH wrote:
> On Tue, Mar 25, 2008 at 01:37:03PM -0400, Mark Lord wrote:
>> Perhaps Greg will chime in.
> I've been waiting to see if sanity will take hold of anyone here.
So have we. sysfs is a total nightmare to extract information from
under program / script control. The idea presented in this thread,
is to have it cross-index the contents with a method that actually
makes it easy to access in many common scenarios, without requiring
huge gobs of code in user space. Or in kernel space.
And it's not just a few 10s of lines of code currently,
but rather about 80-100 lines just to find the correct device subdir,
and *then* a few more 10s of lines of code to retrieve the value.
In a bulletproof fashion, that is. Sure it can be slightly smaller
if niceties such as error checking/handling are omitted.
There's no guarantee that udev is present, and even if it were present,
there's no guarantee that the names in /dev/ will match /sysfs/ pathnames,
since udev is very configurable to do otherwise.
So lookups are by dev_t, which sysfs has no simple or even easy way
of accomplishing. O(n) at a minimum.
If we make it easier to access, then more programs will use it
rather than us having to expand our tricky binary ioctl interfaces.
Isn't that part of the idea of sysfs -- to limit the need for new ioctls ?