From 0fe06168b319064a84fca05109ac3eaaeea499c2 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 15 May 2022 05:49:01 +0900 Subject: [PATCH] core/mount: also remove default deps from /proc/self/mountinfo when it is updated The dependencies tagged with UNIT_DEPENDENCY_MOUNTINFO_DEFAULT depend on both /proc/self/mountinfo and corresponding .mount unit file. Hence, if some information from mountinfo is updated, e.g. device mounted on the path, we need to update the dependencies. --- src/core/mount.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/mount.c b/src/core/mount.c index 229b3de4fd..71da69cbb5 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -909,7 +909,7 @@ static void mount_enter_dead(Mount *m, MountResult f) { dynamic_creds_destroy(&m->dynamic_creds); /* Any dependencies based on /proc/self/mountinfo are now stale */ - unit_remove_dependencies(UNIT(m), UNIT_DEPENDENCY_MOUNTINFO_IMPLICIT); + unit_remove_dependencies(UNIT(m), UNIT_DEPENDENCY_MOUNTINFO_IMPLICIT | UNIT_DEPENDENCY_MOUNTINFO_DEFAULT); } static void mount_enter_mounted(Mount *m, MountResult f) { @@ -1675,7 +1675,7 @@ static int mount_setup_existing_unit( /* If things changed, then make sure that all deps are regenerated. Let's * first remove all automatic deps, and then add in the new ones. */ - unit_remove_dependencies(u, UNIT_DEPENDENCY_MOUNTINFO_IMPLICIT); + unit_remove_dependencies(u, UNIT_DEPENDENCY_MOUNTINFO_IMPLICIT | UNIT_DEPENDENCY_MOUNTINFO_DEFAULT); r = mount_add_non_exec_dependencies(MOUNT(u)); if (r < 0) -- 2.25.1