summaryrefslogtreecommitdiff
path: root/source3/librpc
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-10-25 16:12:12 +0100
committerMichael Adam <obnox@samba.org>2010-02-12 23:12:09 +0100
commit4c1c3f2549f32fd069e0e7bf3aec299213f1e85b (patch)
treed7828ffb309c038c4ee1b1ddfc30d0ff6d99ec29 /source3/librpc
parent30797cec7d826a75e6e458829fc3b2203d841ba3 (diff)
downloadsamba-4c1c3f2549f32fd069e0e7bf3aec299213f1e85b.tar.gz
samba-4c1c3f2549f32fd069e0e7bf3aec299213f1e85b.tar.bz2
samba-4c1c3f2549f32fd069e0e7bf3aec299213f1e85b.zip
s3: Implement global locks in a g_lock tdb
This is the basis to implement global locks in ctdb without depending on a shared file system. The initial goal is to make ctdb persistent transactions deterministic without too many timeouts.
Diffstat (limited to 'source3/librpc')
-rw-r--r--source3/librpc/gen_ndr/messaging.h4
-rw-r--r--source3/librpc/gen_ndr/ndr_messaging.c1
-rw-r--r--source3/librpc/idl/messaging.idl3
3 files changed, 6 insertions, 2 deletions
diff --git a/source3/librpc/gen_ndr/messaging.h b/source3/librpc/gen_ndr/messaging.h
index 225440a8fd..1312c845d4 100644
--- a/source3/librpc/gen_ndr/messaging.h
+++ b/source3/librpc/gen_ndr/messaging.h
@@ -62,7 +62,8 @@ enum messaging_type
MSG_WINBIND_VALIDATE_CACHE=(int)(0x0408),
MSG_WINBIND_DUMP_DOMAIN_LIST=(int)(0x0409),
MSG_DUMP_EVENT_LIST=(int)(0x0500),
- MSG_DBWRAP_TDB2_CHANGES=(int)(4001)
+ MSG_DBWRAP_TDB2_CHANGES=(int)(4001),
+ MSG_DBWRAP_G_LOCK_RETRY=(int)(4002)
}
#else
{ __donnot_use_enum_messaging_type=0x7FFFFFFF}
@@ -118,6 +119,7 @@ enum messaging_type
#define MSG_WINBIND_DUMP_DOMAIN_LIST ( 0x0409 )
#define MSG_DUMP_EVENT_LIST ( 0x0500 )
#define MSG_DBWRAP_TDB2_CHANGES ( 4001 )
+#define MSG_DBWRAP_G_LOCK_RETRY ( 4002 )
#endif
;
diff --git a/source3/librpc/gen_ndr/ndr_messaging.c b/source3/librpc/gen_ndr/ndr_messaging.c
index 3e2aa1f3b0..1452630539 100644
--- a/source3/librpc/gen_ndr/ndr_messaging.c
+++ b/source3/librpc/gen_ndr/ndr_messaging.c
@@ -74,6 +74,7 @@ _PUBLIC_ void ndr_print_messaging_type(struct ndr_print *ndr, const char *name,
case MSG_WINBIND_DUMP_DOMAIN_LIST: val = "MSG_WINBIND_DUMP_DOMAIN_LIST"; break;
case MSG_DUMP_EVENT_LIST: val = "MSG_DUMP_EVENT_LIST"; break;
case MSG_DBWRAP_TDB2_CHANGES: val = "MSG_DBWRAP_TDB2_CHANGES"; break;
+ case MSG_DBWRAP_G_LOCK_RETRY: val = "MSG_DBWRAP_G_LOCK_RETRY"; break;
}
ndr_print_enum(ndr, name, "ENUM", val, r);
}
diff --git a/source3/librpc/idl/messaging.idl b/source3/librpc/idl/messaging.idl
index 068658587f..08caa59508 100644
--- a/source3/librpc/idl/messaging.idl
+++ b/source3/librpc/idl/messaging.idl
@@ -88,7 +88,8 @@ interface messaging
MSG_DUMP_EVENT_LIST = 0x0500,
/* dbwrap messages 4001-4999 */
- MSG_DBWRAP_TDB2_CHANGES = 4001
+ MSG_DBWRAP_TDB2_CHANGES = 4001,
+ MSG_DBWRAP_G_LOCK_RETRY = 4002
} messaging_type;
/* messaging struct sent across the sockets and stored in the tdb */