diff options
author | Luca Boccassi <luca.boccassi@microsoft.com> | 2022-01-19 00:27:45 +0000 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2022-01-19 08:54:50 +0100 |
commit | 70a5c6dce0872b3bb0a39be250adde86a0c8f35c (patch) | |
tree | 3a947ca9cfee43c47813ed9159d17106969f91c6 /src | |
parent | edaca18739cf765ba129f4590628517c167fb005 (diff) | |
download | systemd-70a5c6dce0872b3bb0a39be250adde86a0c8f35c.tar.gz |
sysext: use LO_FLAGS_PARTSCAN when opening image
Jan 17 12:34:59 myguest1 (sd-sysext)[486]: Device '/var/lib/extensions/myext.raw' is loopback block device with partition scanning turned off, please turn it on.
Fixes https://github.com/systemd/systemd/issues/22146
Diffstat (limited to 'src')
-rw-r--r-- | src/sysext/sysext.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c index 5abf1bb418..60789e0f2c 100644 --- a/src/sysext/sysext.c +++ b/src/sysext/sysext.c @@ -2,6 +2,7 @@ #include <fcntl.h> #include <getopt.h> +#include <linux/loop.h> #include <sys/mount.h> #include <unistd.h> @@ -529,7 +530,11 @@ static int merge_subprocess(Hashmap *images, const char *workspace) { if (verity_settings.data_path) flags |= DISSECT_IMAGE_NO_PARTITION_TABLE; - r = loop_device_make_by_path(img->path, O_RDONLY, 0, &d); + r = loop_device_make_by_path( + img->path, + O_RDONLY, + FLAGS_SET(flags, DISSECT_IMAGE_NO_PARTITION_TABLE) ? 0 : LO_FLAGS_PARTSCAN, + &d); if (r < 0) return log_error_errno(r, "Failed to set up loopback device for %s: %m", img->path); |