loop-util: use new LOOP_CONFIGURE ioctl
authorLennart Poettering <lennart@poettering.net>
Thu, 6 Aug 2020 07:47:14 +0000 (09:47 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 11 Aug 2020 13:24:18 +0000 (15:24 +0200)
commit86c1c1f34522b960724a6adda5425712bcfd95f7
tree8391adadca46a2589d564cebf330741c7eac139e
parent834c15ec383ba7cf4be9d064c080d49294f98901
loop-util: use new LOOP_CONFIGURE ioctl

LOOP_CONFIGURE allows us to configure a loopback device in one ioctl
instead of two, which is not just faster but also removes the race that
udev might start probing the device before we adjusted things properly.

Unfortunately LOOP_CONFIGURE is broken in regards to LO_FLAGS_PARTSCAN
as of kernel 5.8.0. This patch contains a work-around for that, to
fallback to old behaviour if partition scanning is requested but does
not work. Sucks a bit.

Proposed upstream fix for that issue:

https://lkml.org/lkml/2020/8/6/97
src/basic/missing_loop.h [new file with mode: 0644]
src/shared/loop-util.c