Re: [RFC] ext4: Add pollable sysfs entry for block threshold events

Theodore Ts'o
2015-03-13T15:05:22Z

On Wed, Mar 11, 2015 at 03:12:25PM +0100, Lukáš Czerner wrote:
>
> I though you were advocating for a solution independent on the file
> system. This is ext4 only solution, but I do not really have
> anything against this.

It would be nice if we could have a fs-independent solution so that we
don't have to support the ext4-specific interface forever. If we had
the thresholds set in struct super, and the file system were to call a
function defined in struct super_operations when the file system has
gotten too full, this wouldn't be all that hard.

The main issue is what is the proper generic way of notifying
userspace. Using a pollable sysfs file is one way, although problem
with that is we don't yet have a standardized place to locate where,
given a particular mounted file system / block device, where to find
its hierarchy in the sysfs tree. Right now we have
/sys/fs/<type>/... but that's owned by the file system and so it get's a
bit tricky to do something generic.

Other solutions might be to report file system full (and file system
corruption issues, etc.) via a netlink socket, or if we want to do
things in a systemd-complaint way, we could use the kernel-level dbus
approach which Greg K-H and company are pushing. :-)

- Ted