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

openSUSE Build Service is sponsored by