Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 509570 - sys-fs/eudev-1.6 should raise minimum kernel version to 2.6.39 for CONFIG_FHANDLE
Summary: sys-fs/eudev-1.6 should raise minimum kernel version to 2.6.39 for CONFIG_FHA...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: eudev team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-04 19:33 UTC by William Throwe
Modified: 2014-05-08 12:09 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Throwe 2014-05-04 19:33:58 UTC
The ebuild sets KV_min=2.6.31 and prints out a message if the running kernel is older than that, but then checks for CONFIG_FHANDLE which doesn't exist in that kernel version.  Based on the open_by_handle_at(2) man page I believe this option was new in 2.6.39.
Comment 1 William Throwe 2014-05-04 23:43:03 UTC
Looking at the source, there appear to be two files that use this functionality.  In path-util.c, there is a fallback code path that handles the case when this functionality is not available in the kernel (or file system).  In libudev-monitor.c I think the use of this functionality is itself a fallback method of checking if udev is running, although I am not certain of this because I don't know udev's interface.

So I think this kernel functionality will be used if available at runtime, but is not necessary for correct operation of eudev.
Comment 2 Anthony Basile gentoo-dev 2014-05-06 13:38:30 UTC
(In reply to William Throwe from comment #1)
> Looking at the source, there appear to be two files that use this
> functionality.  In path-util.c, there is a fallback code path that handles
> the case when this functionality is not available in the kernel (or file
> system).  In libudev-monitor.c I think the use of this functionality is
> itself a fallback method of checking if udev is running, although I am not
> certain of this because I don't know udev's interface.
> 
> So I think this kernel functionality will be used if available at runtime,
> but is not necessary for correct operation of eudev.

If name_to_handle_at() fails (whether or not errno == EOPNOTSUPP), then udev_has_devtmpfs() returns false.  This turns off monitoring of name = udev events in inudev_monitor_new_from_netlink_fd(), although kernel events are still okay.  This is bad.

I just added CONFIG_FHANDLE which threw the warning --- I wasn't previously aware of the min kernel version for name_to_handle_at(). Unfortunately, We probably should bump KV_min to 2.6.39.
Comment 3 Anthony Basile gentoo-dev 2014-05-08 12:09:40 UTC
I bumped KV_min to 2.6.39 in 1.6 and above.  We have to make a decision here about whether to avoid the name_to_handle_at() (and not follow upstream) or bump KV_min.