Re: sysfs regression: wrong link counts

From: Greg KH
Date: Mon Jan 30 2012 - 17:07:20 EST


On Mon, Jan 30, 2012 at 10:56:26PM +0100, Jiri Slaby wrote:
> Hi,
>
> I cannot boot properly with this commit:
> commit 524b6c5b39b931311dfe5a2f5abae2f5c9731676
> Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> Date: Sun Dec 18 20:09:31 2011 -0800
>
> sysfs: Kill nlink counting.
>
>
> 1) network systemd rule doesn't start network
> 2) sensors complain:
> sensors_init: Kernel interface error

Odd.

What in systemd is causing a reliance on this?

> ad 2) look at what it does:
> /* returns !0 if sysfs filesystem was found, 0 otherwise */
> int sensors_init_sysfs(void)
> {
> struct stat statbuf;
>
> snprintf(sensors_sysfs_mount, NAME_MAX, "%s", "/sys");
> if (stat(sensors_sysfs_mount, &statbuf) < 0
> || statbuf.st_nlink <= 2) /* Empty directory */
> return 0;
>
> return 1;
> }

Ah, a hack to see if the directory is empty.

Isn't there some other "proper" way of doing this in userspace, or is
this really the correct way?

> So this looks like it became a part of ABI we cannot break...
>
> A revert of this commit on the top of today's -next fixes the problem.

Ick.

Eric, care to fix this up, or do you want me to revert it?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/