Avoid deadlock between udev probing stage2 image and stage1 mounting it #1
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix-40687"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
LOOP_SET_FD, LOOP_SET_STATUS ioctls trigger a
change
event with loopback device in question. udev handles those events with (builtin) blkid command. Probing a device with blkid takes a while, so init might try to mount the loopback device in question whileblkid
is still running. As a result init and udev block each other. Eventually (after 3 minutes or whatever udev event timeout is)blkid
gets killed and boot proceeds.However such long delays are very annoying. Therefore run
udev_settle
after each loop related ioctl to avoid the concurrent access to the same loopback device.Closes: #40687
LGTM, +1