loop device creation [was Re: udev: Directory for custom device nodes.]

Harald Hoyer harald at redhat.com
Wed Jan 26 14:04:41 UTC 2005

Charles R. Anderson wrote:
> On Tue, Jan 25, 2005 at 04:31:40PM +0100, Harald Hoyer wrote:
>>The loop module gets autoloaded by accessing /dev/loop.
>>A program (mount) would have to load the module, if it wants /dev/loop* and 
>>wait for udev to create the device.
>>We could load the loop device on system startup, but you may not want to 
>>have loaded "every" module, you could possibly use in one session.
> How about calling "mount -a" twice?  Once to touch any devices that 
> may need to have nodes created by udev, and again to actually succeed 
> on mounting those devices?

"Once to touch any devices that may need to have nodes created by udev"

This does not work, because either the device node is there, then mount can 
use it to loop mount, because an open(2) triggers module autoloading
the device node isn't there, mount cannot open it, module autoloading cannot 
be triggered... the module has to be loaded manually, udev gets called by 
hotplug events, creates the devices as propagated by the module in /sys.

It's like egg and chicken. You have to manually:
a) create the device nodes, or
b) load the module

More information about the fedora-devel-list mailing list