Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:GA
lvm2.5953
bug-1041424_clvmd-add-mutex-protection-for-cpg_...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bug-1041424_clvmd-add-mutex-protection-for-cpg_-call.patch of Package lvm2.5953
From f2b9e34e08951dbb9798508ed0e84b6c376fa666 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac <zkabelac@redhat.com> Date: Sat, 4 Feb 2017 14:47:27 +0100 Subject: [PATCH 10/10] clvmd: add mutex protection for cpg_ call The library for corosync multicasting is not supporting multithread usage - add local mutex to avoid parallel call of cpg_mcast_joined(). (cherry picked from commit dae4f53acb269219e876c229c8f034fcdaf3ff5a) --- daemons/clvmd/clvmd-corosync.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/daemons/clvmd/clvmd-corosync.c b/daemons/clvmd/clvmd-corosync.c index 55b3884..ec0da50 100644 --- a/daemons/clvmd/clvmd-corosync.c +++ b/daemons/clvmd/clvmd-corosync.c @@ -536,6 +536,7 @@ static int _cluster_fd_callback(struct local_client *fd, char *buf, int len, static int _cluster_send_message(const void *buf, int msglen, const char *csid, const char *errtext) { + static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER; struct iovec iov[2]; cs_error_t err; int target_node; @@ -550,7 +551,10 @@ static int _cluster_send_message(const void *buf, int msglen, const char *csid, iov[1].iov_base = (char *)buf; iov[1].iov_len = msglen; + pthread_mutex_lock(&_mutex); err = cpg_mcast_joined(cpg_handle, CPG_TYPE_AGREED, iov, 2); + pthread_mutex_unlock(&_mutex); + return cs_to_errno(err); } -- 2.10.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor