From: Lennart Poettering Date: Fri, 20 Jul 2018 13:33:48 +0000 (+0200) Subject: tests: prefer MS_SLAVE over MS_PRIVATE for turning off mount propagation X-Git-Tag: v240~934 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=74bf45bb2cb485a1f61e1df65ae72a263eaeb99b;p=thirdparty%2Fsystemd.git tests: prefer MS_SLAVE over MS_PRIVATE for turning off mount propagation When we open our own little namespace for running our tests in, let's turn off mount propagation only one way, rather than both ways. This is better as this means we don't pin host mounts unnecessarily long in our namespace, even though the host already got rid of them. This is because MS_SLAVE in contrast to MS_PRIVATE allows umount events to propagate from the host into our environment. --- diff --git a/src/test/test-process-util.c b/src/test/test-process-util.c index fd4d17408de..7f3f502c56a 100644 --- a/src/test/test-process-util.c +++ b/src/test/test-process-util.c @@ -206,7 +206,7 @@ static void test_get_process_cmdline_harder(void) { assert_se(pid == 0); assert_se(unshare(CLONE_NEWNS) >= 0); - assert_se(mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) >= 0); + assert_se(mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) >= 0); fd = mkostemp(path, O_CLOEXEC); assert_se(fd >= 0); diff --git a/src/test/test-udev.c b/src/test/test-udev.c index bed51c12708..dd630b97181 100644 --- a/src/test/test-udev.c +++ b/src/test/test-udev.c @@ -38,7 +38,7 @@ static int fake_filesystems(void) { if (unshare(CLONE_NEWNS) < 0) return log_error_errno(errno, "failed to call unshare(): %m"); - if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) < 0) + if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0) return log_error_errno(errno, "failed to mount / as private: %m"); for (i = 0; i < ELEMENTSOF(fakefss); i++) {