Re: [PATCH RFC] kobject_uevent: notify uevent sysfs file on changes

From: Thomas Weißschuh
Date: Thu May 16 2024 - 13:41:21 EST


On 2024-05-16 13:17:34+0000, Greg Kroah-Hartman wrote:
> On Thu, May 16, 2024 at 12:27:58PM +0200, Thomas Weißschuh wrote:
> > The sysfs file "uevent" that exists for each device
> > contains the same information that is attached to uevents emitted via
> > netlink (or the usermode helper).
> > This is useful for userspace which interacts with sysfs directly,
> > without using (lib)udev.
> >
> > However it is not possible to actually get notified when the data in
> > the "uevent" file changes.
>
> What is wrong with listening to the uevent that is happening when the
> file changes?

It requires netlink or libudev which is not available or ergonimic for
all userspace programs.
Shellscripts, simple C applications, programing languages without
access to netlink/libudev.

I noticed this when using the "Waybar" application[0] and missing power
supply event updates. Both me and the authors of Waybar expected sysfs
notifications to work for uevent files.

Using sysfs notifications looks like an easy quality-of-life
improvement.

> > Enable these notifications, so that the "uevent" file can be used
> > together with inotify and friends.
>
> uevent files are meant to be listened to by the uevent itself, why not do
> that?

I can't parse this sentence, sorry. Could you elaborate?

Thanks,
Thomas

[0] https://github.com/Alexays/Waybar/pull/2704