File dmeventd-fix-dso-name-wrong-compare.patch of Package lvm2.1005
From fd71b7c219e5e6fd2cacae6803dd6757b24f1982 Mon Sep 17 00:00:00 2001
From: Liuhua Wang <lwang@suse.com>
Date: Thu, 9 Jul 2015 14:16:44 +0800
Subject: [PATCH] dmeventd: fix dso name wrong compare
dso_name is thought as not empty and doesn't create monitor thread,
because lvm sets empty dso_name with "-".
Signed-off-by: Liuhua Wang <lwang@suse.com>
References: bnc#935623
---
LVM2.2.02.98/daemons/dmeventd/dmeventd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git LVM2.2.02.98.orig/daemons/dmeventd/dmeventd.c LVM2.2.02.98/daemons/dmeventd/dmeventd.c
index 13148c3..c62df95 100644
--- LVM2.2.02.98.orig/daemons/dmeventd/dmeventd.c
+++ LVM2.2.02.98/daemons/dmeventd/dmeventd.c
@@ -1124,14 +1124,14 @@ static int _want_registered_device(char *dso_name, char *device_uuid,
struct thread_status *thread)
{
/* If DSO names and device paths are equal. */
- if (dso_name && device_uuid)
+ if (dso_name && strcmp(dso_name, "-") && device_uuid)
return !strcmp(dso_name, thread->dso_data->dso_name) &&
!strcmp(device_uuid, thread->device.uuid) &&
(thread->status == DM_THREAD_RUNNING ||
(thread->events & DM_EVENT_REGISTRATION_PENDING));
/* If DSO names are equal. */
- if (dso_name)
+ if (dso_name && strcmp(dso_name, "-"))
return !strcmp(dso_name, thread->dso_data->dso_name) &&
(thread->status == DM_THREAD_RUNNING ||
(thread->events & DM_EVENT_REGISTRATION_PENDING));
--
1.8.4.5