Messages in this thread | | | Date | Tue, 25 Mar 2008 20:34:10 -0400 | From | Mark Lord <> | Subject | Re: What to do about the 2TB limit on HDIO_GETGEO ? |
| |
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 ?
Cheers
| |