Comment 2 for bug 2013086

Revision history for this message
David Trudgian (dtrudg-sylabs) wrote :

Users of our software (singularity) were affected by this issue.

https://github.com/sylabs/singularity/issues/1499

For historic reasons (old kernels without /dev/loop-control), we have been creating /dev/loopXX devices directly via mknod, if needed, before using them.

After the backport of https://lkml.org/lkml/2022/12/8/904 it was possible to mknod additional loop devices, in addition to those present on boot, but they could not then be used successfully.

We found that switching to creating devices via LOOP_CTL_ADD ioctl against /dev/loop-control avoids the issue. >8 devices are created and are usable.

While there will be a workaround for people who can upgrade to a new version of our software, the change in the Ubuntu kernel causes a regression for users of existing versions of singularity, who must set max_loop in the kernel cmdline to work around the problem.