summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2016-11-14 14:46:44 +0100
committerPeter Rajnoha <prajnoha@redhat.com>2016-11-14 14:53:19 +0100
commit68d6d342f83f00784b53dda254d66875e134808d (patch)
tree6005b8b7851a6e5aec5b32e49b9f4d18b7b4ef8b
parente7da8e7e1f27c2ee193a2dfc20819076c2bd19bf (diff)
downloadlvm2-68d6d342f83f00784b53dda254d66875e134808d.tar.gz
dbus: only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification
Do not emit warning message but only log debug message if lvm2-lvmdbusd.service unit is missing and at the same time we have global/notify_dbus=1 (which is used by default if we configured sources with "--enable-notify-dbus"). We don't want hard dependency between LVM2 and lvmdbusd so it's enough to log only debug message in this case.
-rw-r--r--WHATS_NEW1
-rw-r--r--lib/notify/lvmnotify.c7
2 files changed, 7 insertions, 1 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index 57c382f74..7f8801ac0 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.168 -
====================================
+ Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification.
Missing stripe filler now could be also 'zero'.
lvconvert --repair accepts --interval and --background option.
More efficiently prepare _rmeta devices when creating a new raid LV.
diff --git a/lib/notify/lvmnotify.c b/lib/notify/lvmnotify.c
index e9f8e290e..ac0ca73c6 100644
--- a/lib/notify/lvmnotify.c
+++ b/lib/notify/lvmnotify.c
@@ -15,6 +15,7 @@
#define LVM_DBUS_DESTINATION "com.redhat.lvmdbus1"
#define LVM_DBUS_PATH "/com/redhat/lvmdbus1/Manager"
#define LVM_DBUS_INTERFACE "com.redhat.lvmdbus1.Manager"
+#define SD_BUS_NO_SUCH_UNIT_ERROR "org.freedesktop.systemd1.NoSuchUnit"
#ifdef NOTIFYDBUS_SUPPORT
#include <systemd/sd-bus.h>
@@ -26,6 +27,7 @@ int lvmnotify_is_supported(void)
void lvmnotify_send(struct cmd_context *cmd)
{
+ static const char _dbus_notification_failed_msg[] = "D-Bus notification failed";
sd_bus *bus = NULL;
sd_bus_message *m = NULL;
sd_bus_error error = SD_BUS_ERROR_NULL;
@@ -61,7 +63,10 @@ void lvmnotify_send(struct cmd_context *cmd)
cmd_name);
if (ret < 0) {
- log_warn("WARNING: D-Bus notification failed: %s", error.message);
+ if (sd_bus_error_has_name(&error, SD_BUS_NO_SUCH_UNIT_ERROR))
+ log_debug_dbus("%s: %s", _dbus_notification_failed_msg, error.message);
+ else
+ log_warn("WARNING: %s: %s", _dbus_notification_failed_msg, error.message);
goto out;
}