]> git.ipfire.org Git - thirdparty/systemd.git/commit
udev: only trigger the boot-disk loop device for optical drives main
authorDaan De Meyer <daan@amutable.com>
Mon, 15 Jun 2026 07:55:22 +0000 (07:55 +0000)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 15 Jun 2026 14:00:39 +0000 (16:00 +0200)
commitd8a625875c8eb9c7518977b98d6c6ef5eb0a5c1f
tree2bbd68627af58f184435bb2f29baebb772fe9095
parent1dc599ce411d26ba10e245d3cf3018abe0e743a5
udev: only trigger the boot-disk loop device for optical drives

probe_gpt_boot_disk_needs_loop() sets ID_PART_GPT_AUTO_ROOT_DISK_NEEDS_LOOP
for any whole disk that holds the boot ESP/XBOOTLDR but whose partition table
the kernel cannot parse. Until now the udev rule turned that into a
systemd-loop@.service for every block device.

That is too broad: device-mapper devices also report kernel partition
scanning as disabled, but their partitions are managed in userspace by kpartx
(see 66-kpartx.rules). Setting up a loop device on top of them re-exposes the
same partition table a second time and only causes trouble.

Restrict the rule to optical drives, the one class that genuinely needs a
kernel-side loop device (El Torito GPT sector size mismatch, or drives that do
not support partition scanning) and that has no userspace partition manager of
its own.

Co-developed-by: Claude Fable 5 <noreply@anthropic.com>
rules.d/99-systemd.rules.in