From 5e9711473fc871155017c7747364b9e4ae2ecfb9 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 19 Nov 2024 11:54:00 +0100 Subject: libmount: support X-mount.noloop libmount automatically creates a loop device and mounts it if the source of the mount is a regular file that contains a well-known filesystem. However, in some cases, this feature may be unwanted. The new mount option "X-mount.noloop" forces libmount to use the file directly as the mount source. Addresses: https://github.com/util-linux/util-linux/pull/3288 Signed-off-by: Karel Zak --- libmount/src/hook_loopdev.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libmount/src/hook_loopdev.c') diff --git a/libmount/src/hook_loopdev.c b/libmount/src/hook_loopdev.c index c01d536ce1..a19ddab3be 100644 --- a/libmount/src/hook_loopdev.c +++ b/libmount/src/hook_loopdev.c @@ -423,6 +423,9 @@ static int is_loopdev_required(struct libmnt_context *cxt, struct libmnt_optlist || mnt_context_propagation_only(cxt)) return 0; + if (mnt_optlist_get_named(ol, "X-mount.noloop", cxt->map_userspace)) + return 0; + src = mnt_fs_get_srcpath(cxt->fs); if (!src) return 0; /* backing file not set */ -- cgit 1.2.3-korg