[systemd-devel] udevadm: Failed to scan devices: Input/output error

Lennart Poettering lennart at poettering.net
Thu Mar 31 13:27:46 UTC 2022


On Do, 31.03.22 12:58, Belal, Awais (Awais_Belal at mentor.com) wrote:

> Hi Lennart,
>
> > No distro from the last 10y should use "udevadm settle" in the clean
> > boot path. Please work with your distro to fix that. It doesn't do
> > what people think it does, and clean-written software really doesn't
> > need that in the boot path. It just slows down boot.
>
> Thanks for pointing that out. I will definitely report this and work
> with the distro folks to see why we're doing this and drop it if we
> can work without it. However, the failure I mentioned is in the
> invocation of udevadm triigger. Here's what strace revealed
>
> faccessat(AT_FDCWD, "/sys/devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:fd4b0000.gpu/uevent", F_OK) = 0
> readlinkat(AT_FDCWD, "/sys/devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:fd4b0000.gpu/subsystem", "../../../../class/devlink", 4096) = 25
> openat(AT_FDCWD, "/sys/devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:fd4b0000.gpu/uevent", O_RDONLY|O_CLOEXEC) = 5
> fstat(5, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
> fstat(5, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
> read(5, "", 4096)                       = 0
> close(5)                                = 0
> openat(AT_FDCWD, "/run/udev/data/+devlink:platform:firmware:zynqmp-firmware:clock-controller--platform:fd4b0000.gpu", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> getdents64(4, 0x1b02edd0, 32768)        = -1 EIO (Input/output
> error)

uh? getdents64() is the syscall that reads directory contents. Smells
like a kernel problem. If EIO is thrown when reading a directory, then
that's almost certainly a fuckup in the kernel, given that this
probably refers to sysfs or so.

Would be good to know which fd 4 refers to. Consider reruning the
strace with "-y". With that it will show you which fd this is
triggered from.

Lennart

--
Lennart Poettering, Berlin


More information about the systemd-devel mailing list