[systemd-devel] libudev: subdirectories in sysfs (what does "available" mean?)
Anne Mulhern
amulhern at redhat.com
Tue Nov 17 14:57:31 PST 2015
----- Original Message -----
> From: "David Herrmann" <dh.herrmann at gmail.com>
> To: "Anne Mulhern" <amulhern at redhat.com>
> Cc: "systemd" <systemd-devel at lists.freedesktop.org>
> Sent: Tuesday, November 17, 2015 10:48:19 AM
> Subject: Re: [systemd-devel] libudev: subdirectories in sysfs
>
> Hi
>
> On Mon, Nov 16, 2015 at 5:35 PM, Anne Mulhern <amulhern at redhat.com> wrote:
> > Hi!
> >
> > libudev has some cooperating procedures that return the keys for a bunch of
> > sysfs attributes for a given device.
> >
> > These attributes all correspond to files that are stored in the sysfs
> > device directory.
> >
> > In the same directory there are sometimes subdirectories, that themselves
> > contain files
> > with information about their corresponding attribute. The dm directory is
> > one obvious
> > example.
> >
> > Are their any plans for libudev to add an ability to get the values from
> > these subdirectories
> > as some kind of attributes?
> >
> > If no, why?
>
> sd_device_get_sysattr_value(device, "foo/bar/baz", &value);
>
> This should work fine (or its udev_device_* equivalent).
>
> Btw., I recommend just using readdir(), open(), read(), and write().
> sysfs is a filesystem, no reason to wrap all those commands.
>
> Thanks
> David
>
Thanks, I'm asking this more as the pyudev maintainer than as someone
who actually wants these values.
The funny thing is, I recently found out that the list obtained by
udev_device_get_sysattr_list_entry () and friends contains so
called "available" keys, but when those get passed to
udev_device_get_sysattr_value () the result might be NULL.
That makes sense in the sense that they might represent files
that are unreadable.
Now I find out that I can make up keys not in the results of
udev_device_get_sysattr_list_entry () and pass those to
udev_device_get_sysattr_value() and get a non-null result.
So, what does "available" mean? Do these sysattr_list_entry()
methods give any useful information?
- mulhern
More information about the systemd-devel
mailing list