summaryrefslogtreecommitdiff
path: root/core/systemd/0007-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/systemd/0007-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch')
-rw-r--r--core/systemd/0007-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/core/systemd/0007-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch b/core/systemd/0007-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch
new file mode 100644
index 000000000..420d24e58
--- /dev/null
+++ b/core/systemd/0007-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch
@@ -0,0 +1,70 @@
+From ff5f34d08c191c326c41a083745522383ac86cae Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Wed, 26 Feb 2014 04:27:50 +0100
+Subject: [PATCH] mount: don't send out PropertiesChanged message if actually
+ nothing got changed
+
+---
+ src/core/mount.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/core/mount.c b/src/core/mount.c
+index b35e507..98812c9 100644
+--- a/src/core/mount.c
++++ b/src/core/mount.c
+@@ -1390,7 +1390,7 @@ static int mount_add_one(
+ _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL;
+ bool load_extras = false;
+ MountParameters *p;
+- bool delete;
++ bool delete, changed = false;
+ Unit *u;
+ int r;
+
+@@ -1458,6 +1458,7 @@ static int mount_add_one(
+ }
+
+ unit_add_to_load_queue(u);
++ changed = true;
+ } else {
+ delete = false;
+
+@@ -1476,6 +1477,7 @@ static int mount_add_one(
+ /* Load in the extras later on, after we
+ * finished initialization of the unit */
+ load_extras = true;
++ changed = true;
+ }
+ }
+
+@@ -1488,10 +1490,16 @@ static int mount_add_one(
+ }
+
+ p = &MOUNT(u)->parameters_proc_self_mountinfo;
++
++ changed = changed ||
++ !streq_ptr(p->options, options) ||
++ !streq_ptr(p->what, what) ||
++ !streq_ptr(p->fstype, fstype);
++
+ if (set_flags) {
+ MOUNT(u)->is_mounted = true;
+ MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo;
+- MOUNT(u)->just_changed = !streq_ptr(p->options, o);
++ MOUNT(u)->just_changed = changed;
+ }
+
+ MOUNT(u)->from_proc_self_mountinfo = true;
+@@ -1514,7 +1522,8 @@ static int mount_add_one(
+ goto fail;
+ }
+
+- unit_add_to_dbus_queue(u);
++ if (changed)
++ unit_add_to_dbus_queue(u);
+
+ return 0;
+
+--
+1.9.0
+