45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
From a4cefc9f8bf24b2fdcc62cc0d2685698814374d4 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Michal=20Sekleta=CC=81r?= <msekleta@redhat.com>
|
|
Date: Thu, 26 Mar 2020 13:35:11 +0100
|
|
Subject: [PATCH] device: don't emit PropetiesChanged needlessly
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Functions called from device_setup_unit() already make sure that unit is
|
|
enqueued in case it is a new unit or properties exported on the bus have
|
|
changed.
|
|
|
|
This should prevent unnecessary DBus wakeups and associated DBus traffic
|
|
when device_setup_unit() was called while reparsing /proc/self/mountinfo
|
|
due to the mountinfo notifications. Note that we parse
|
|
/proc/self/mountinfo quite often on the busy systems (e.g. k8s container
|
|
hosts) but majority of the time mounts didn't change, only some mount
|
|
got added. Thus we don't need to generate PropertiesChanged for devices
|
|
associated with the mounts that didn't change.
|
|
|
|
Thanks to Renaud Métrich <rmetrich@redhat.com> for debugging the
|
|
problem and providing draft version of the patch.
|
|
|
|
(cherry picked from commit 2e129d5d6bd6bd8be4b5359e81a880cbf72a44b8)
|
|
|
|
Resolves: #1793533
|
|
---
|
|
src/core/device.c | 3 ---
|
|
1 file changed, 3 deletions(-)
|
|
|
|
diff --git a/src/core/device.c b/src/core/device.c
|
|
index 21fe3802bd..021c28dfbd 100644
|
|
--- a/src/core/device.c
|
|
+++ b/src/core/device.c
|
|
@@ -549,9 +549,6 @@ static int device_setup_unit(Manager *m, struct udev_device *dev, const char *pa
|
|
if (dev && device_is_bound_by_mounts(DEVICE(u), dev))
|
|
device_upgrade_mount_deps(u);
|
|
|
|
- /* Note that this won't dispatch the load queue, the caller has to do that if needed and appropriate */
|
|
- unit_add_to_dbus_queue(u);
|
|
-
|
|
return 0;
|
|
|
|
fail:
|