chiark / gitweb /
mount: tell /bin/mount to never touch /etc/mtab
authorLennart Poettering <lennart@poettering.net>
Sun, 15 Jun 2014 22:53:02 +0000 (00:53 +0200)
committerLennart Poettering <lennart@poettering.net>
Sun, 15 Jun 2014 22:53:02 +0000 (00:53 +0200)
/etc/mtab should die die die. It's sad enough util-linux still contains
support for it, but we don't have to partake in that charade, so let's
turn this off.

This is in-line with the fact that since years we already have been
"tainting" systemd if we detect /etc/mtab not being a symlink...

Of course, util-linux is currently broken, and still touches /etc/mtab,
weven if we pass "--no-mtab" to it:

https://bugzilla.redhat.com/show_bug.cgi?id=1109367

But hey, let's hope that gets fixed quickly, even if total removal of
/etc/mtab support from util-linux might not happen so quickly...

src/core/mount.c

index 14ac0a060e5bd8ef33bc67b0157ae7629d3a8b45..ca21ec7d0e747307b0fd9f999538ee18595b1498 100644 (file)
@@ -892,6 +892,7 @@ static void mount_enter_unmounting(Mount *m) {
         if ((r = exec_command_set(
                              m->control_command,
                              "/bin/umount",
         if ((r = exec_command_set(
                              m->control_command,
                              "/bin/umount",
+                             "-n",
                              m->where,
                              NULL)) < 0)
                 goto fail;
                              m->where,
                              NULL)) < 0)
                 goto fail;
@@ -934,6 +935,7 @@ static void mount_enter_mounting(Mount *m) {
                 r = exec_command_set(
                                 m->control_command,
                                 "/bin/mount",
                 r = exec_command_set(
                                 m->control_command,
                                 "/bin/mount",
+                                "-n",
                                 m->parameters_fragment.what,
                                 m->where,
                                 "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
                                 m->parameters_fragment.what,
                                 m->where,
                                 "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
@@ -981,6 +983,7 @@ static void mount_enter_remounting(Mount *m) {
                 r = exec_command_set(
                                 m->control_command,
                                 "/bin/mount",
                 r = exec_command_set(
                                 m->control_command,
                                 "/bin/mount",
+                                "-n",
                                 m->parameters_fragment.what,
                                 m->where,
                                 "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
                                 m->parameters_fragment.what,
                                 m->where,
                                 "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",