From: Chongyun Wu <wu.chongyun@xxxxxxx> Test environment: 25 hosts, each host have more than 100 luns, each lun have two paths. Some times when we try to ceate new multipath will encounter "could not create uxsock:98" but the multipathd still running not shutdown and can't response any multipathd commands also. After reproduce this issue and debug, found below fixes might work: (1) set_config_state() after pthread_cond_timedwait() other threads might changed the running_state from DAEMON_SHUTDOWN to other status like DAEMON_IDLE, which will make the shutdown process stopped. I found logs to prove this really happened, so we need add judgement here too. (2) [this part removed by mwilck] Signed-off-by: Chongyun Wu <wu.chongyun@xxxxxxx> Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> --- multipathd/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multipathd/main.c b/multipathd/main.c index 99145293..6a5d105a 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -247,7 +247,7 @@ int set_config_state(enum daemon_status state) rc = pthread_cond_timedwait(&config_cond, &config_lock, &ts); } - if (!rc) { + if (!rc && (running_state != DAEMON_SHUTDOWN)) { running_state = state; pthread_cond_broadcast(&config_cond); #ifdef USE_SYSTEMD -- 2.19.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel