diff --git a/libmount-dont-ignore-autofs-mounts-by-default.patch b/libmount-dont-ignore-autofs-mounts-by-default.patch new file mode 100644 index 0000000..3999040 --- /dev/null +++ b/libmount-dont-ignore-autofs-mounts-by-default.patch @@ -0,0 +1,51 @@ +From 7d08453551ccc5477f76f3e986c8351e8c5ab599 Mon Sep 17 00:00:00 2001 +From: Ian Kent +Date: Mon, 13 Mar 2023 09:42:56 +0800 +Subject: [PATCH] libmount: dont ignore autofs mounts by default + +Making libmount ingore autofs mounts by default can be a problem for +systemd, I remember now what the problem was. + +autofs multi-mounts can be nested (and often are, think of a tree of +NFS exports) where there are autofs file system mounts within NFS +mounts and together with autofs mount triggers. + +In this case systemd needs to see all the mounts at shutdown when it +is umounting the tree of mounts. We don't want to have to rely on +modifications having been made to systemd for this to work properly +so we can't make this the default behaviour in libmount. + +Fixes: 22147e08c987 (libmount: use autofs mount hint to ignore autofs mount entries) +Signed-off-by: Ian Kent +Cc: John Westerdale +Cc: Frank Hertz +Cc: Frank Sorenson +--- + libmount/src/context.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libmount/src/context.c b/libmount/src/context.c +index 8db6b6950..2df4716a7 100644 +--- a/libmount/src/context.c ++++ b/libmount/src/context.c +@@ -75,7 +75,7 @@ struct libmnt_context *mnt_new_context(void) + /* if we're really root and aren't running setuid */ + cxt->restricted = (uid_t) 0 == ruid && ruid == euid ? 0 : 1; + +- cxt->noautofs = 1; ++ cxt->noautofs = 0; + + DBG(CXT, ul_debugobj(cxt, "----> allocate %s", + cxt->restricted ? "[RESTRICTED]" : "")); +@@ -164,7 +164,7 @@ int mnt_reset_context(struct libmnt_context *cxt) + cxt->helper = NULL; + cxt->mountdata = NULL; + cxt->flags = MNT_FL_DEFAULT; +- cxt->noautofs = 1; ++ cxt->noautofs = 0; + cxt->has_selinux_opt = 0; + + cxt->map_linux = mnt_get_builtin_optmap(MNT_LINUX_MAP); +-- +2.39.2 + diff --git a/mount-ignore-autofs-entries-in-mount-listing.patch b/mount-ignore-autofs-entries-in-mount-listing.patch new file mode 100644 index 0000000..b9e838e --- /dev/null +++ b/mount-ignore-autofs-entries-in-mount-listing.patch @@ -0,0 +1,35 @@ +From 9004e76b4ba716022a7c851ffa7fbd9e9e4bf073 Mon Sep 17 00:00:00 2001 +From: Ian Kent +Date: Mon, 13 Mar 2023 09:43:02 +0800 +Subject: [PATCH] mount: ignore autofs entries in mount listing + +Since we can't enable use of ignoring autofs mounts that have the +"ignore" option present by default (systemd could get confused) it's +necessary to enable it for individual applications. + +The mount utility is one applcation we need it for so enable it. + +Signed-off-by: Ian Kent +Cc: John Westerdale +Cc: Frank Hertz +Cc: Frank Sorenson +--- + sys-utils/mount.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sys-utils/mount.c b/sys-utils/mount.c +index 6590272c7..dba6fcae9 100644 +--- a/sys-utils/mount.c ++++ b/sys-utils/mount.c +@@ -124,6 +124,8 @@ static void print_all(struct libmnt_context *cxt, char *pattern, int show_label) + struct libmnt_fs *fs; + struct libmnt_cache *cache = NULL; + ++ mnt_context_enable_noautofs(cxt, 1); ++ + if (mnt_context_get_mtab(cxt, &tb)) + err(MNT_EX_SYSERR, _("failed to read mtab")); + +-- +2.39.2 +