messaging_dgm: Don't expose the messaging_dgm_context
authorVolker Lendecke <vl@samba.org>
Wed, 10 Sep 2014 14:13:18 +0000 (16:13 +0200)
committerStefan Metzmacher <metze@samba.org>
Sun, 14 Sep 2014 14:29:30 +0000 (16:29 +0200)
commit7bc2e2d0d4a6706769a436798aa29d18a8f7c221
tree4cd3cd65933d85d2d49cdf214e0d90f01ed67687
parent9269a8e5d4f92569cf529e530bf800971c23682d
messaging_dgm: Don't expose the messaging_dgm_context

Right now we can only support one messaging_dgm_context per process
anyway, the code has checks for this. I would like to keep it that
way, in the future we will have multiple messaging_context's or
imessaging_context's filtering based upon the dst server_id.

Why this change? messaging_dgm's lockfile contains the
serverid->unique_id. When designing messaging_dgm, I had in mind to
remove the serverid.tdb and replace it with the dgm lockfiles for server
lookup and enumeration. I have a WIP-patchset that gets rid of almost
all users of serverid.tdb. The problem is serverid_exists. Here we don't
have a messaging_context available, and it would be pretty intrusive
to make it so. This problem has plagued us since ctdb was developed,
see for example the comment

/*
 * This is a Samba3 hack/optimization. Routines like process_exists need to
 * talk to ctdbd, and they don't get handed a messaging context.
 */

in messaging_ctdb.c. This patchset removes this problem in a radical way:
Treat the messaging_dgm context as one globally available structure and
be done with it. The ctdb socket could go the same way in the future.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sun Sep 14 16:29:30 CEST 2014 on sn-devel-104
source3/lib/messages.c
source3/lib/messages_dgm.c
source3/lib/messages_dgm.h