summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2011-02-16 15:13:53 +1100
committerGünther Deschner <gd@samba.org>2011-02-17 16:02:19 +0100
commit09c4a5cd9bc3f46bbc90e86f0155ef4080d1a3ec (patch)
treeaa5c5a928f792c251eb72c81f5702f5807d8c5bd
parent6840549123c9152a9fbe614a2f9d0de758318660 (diff)
downloadsamba-09c4a5cd9bc3f46bbc90e86f0155ef4080d1a3ec.tar.gz
samba-09c4a5cd9bc3f46bbc90e86f0155ef4080d1a3ec.tar.bz2
samba-09c4a5cd9bc3f46bbc90e86f0155ef4080d1a3ec.zip
s3-cluster Always fill in the clustering vnn element
This avoids this structure being partially uninitialised. Adnrew Bartlett
-rw-r--r--source3/lib/serverid.c6
-rw-r--r--source3/lib/util.c24
-rw-r--r--source3/smbd/oplock.c4
-rw-r--r--source3/utils/net_serverid.c2
4 files changed, 0 insertions, 36 deletions
diff --git a/source3/lib/serverid.c b/source3/lib/serverid.c
index ded72981ec..a8cdcfa2a9 100644
--- a/source3/lib/serverid.c
+++ b/source3/lib/serverid.c
@@ -23,9 +23,7 @@
struct serverid_key {
pid_t pid;
-#ifdef CLUSTER_SUPPORT
uint32_t vnn;
-#endif
};
struct serverid_data {
@@ -71,9 +69,7 @@ static void serverid_fill_key(const struct server_id *id,
{
ZERO_STRUCTP(key);
key->pid = id->pid;
-#ifdef CLUSTER_SUPPORT
key->vnn = id->vnn;
-#endif
}
bool serverid_register(const struct server_id id, uint32_t msg_flags)
@@ -276,9 +272,7 @@ static bool serverid_rec_parse(const struct db_record *rec,
memcpy(&data, rec->value.dptr, sizeof(data));
id->pid = key.pid;
-#ifdef CLUSTER_SUPPORT
id->vnn = key.vnn;
-#endif
id->unique_id = data.unique_id;
*msg_flags = data.msg_flags;
return true;
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 08a24ec722..e70dd6a341 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -2574,9 +2574,7 @@ struct server_id pid_to_procid(pid_t pid)
struct server_id result;
result.pid = pid;
result.unique_id = my_unique_id;
-#ifdef CLUSTER_SUPPORT
result.vnn = my_vnn;
-#endif
return result;
}
@@ -2589,10 +2587,8 @@ bool procid_equal(const struct server_id *p1, const struct server_id *p2)
{
if (p1->pid != p2->pid)
return False;
-#ifdef CLUSTER_SUPPORT
if (p1->vnn != p2->vnn)
return False;
-#endif
return True;
}
@@ -2606,10 +2602,8 @@ bool procid_is_me(const struct server_id *pid)
{
if (pid->pid != sys_getpid())
return False;
-#ifdef CLUSTER_SUPPORT
if (pid->vnn != my_vnn)
return False;
-#endif
return True;
}
@@ -2617,7 +2611,6 @@ struct server_id interpret_pid(const char *pid_string)
{
struct server_id result;
int pid;
-#ifdef CLUSTER_SUPPORT
unsigned int vnn;
if (sscanf(pid_string, "%u:%d", &vnn, &pid) == 2) {
result.vnn = vnn;
@@ -2631,13 +2624,6 @@ struct server_id interpret_pid(const char *pid_string)
result.vnn = NONCLUSTER_VNN;
result.pid = -1;
}
-#else
- if (sscanf(pid_string, "%d", &pid) != 1) {
- result.pid = -1;
- } else {
- result.pid = pid;
- }
-#endif
/* Assigning to result.pid may have overflowed
Map negative pid to -1: i.e. error */
if (result.pid < 0) {
@@ -2649,7 +2635,6 @@ struct server_id interpret_pid(const char *pid_string)
char *procid_str(TALLOC_CTX *mem_ctx, const struct server_id *pid)
{
-#ifdef CLUSTER_SUPPORT
if (pid->vnn == NONCLUSTER_VNN) {
return talloc_asprintf(mem_ctx,
"%d",
@@ -2661,11 +2646,6 @@ char *procid_str(TALLOC_CTX *mem_ctx, const struct server_id *pid)
(unsigned)pid->vnn,
(int)pid->pid);
}
-#else
- return talloc_asprintf(mem_ctx,
- "%d",
- (int)pid->pid);
-#endif
}
char *procid_str_static(const struct server_id *pid)
@@ -2680,11 +2660,7 @@ bool procid_valid(const struct server_id *pid)
bool procid_is_local(const struct server_id *pid)
{
-#ifdef CLUSTER_SUPPORT
return pid->vnn == my_vnn;
-#else
- return True;
-#endif
}
/****************************************************************
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index a2ba0109ae..4e5237e61f 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -887,9 +887,7 @@ void share_mode_entry_to_message(char *msg, const struct share_mode_entry *e)
SIVAL(msg,OP_BREAK_MSG_UID_OFFSET,e->uid);
SSVAL(msg,OP_BREAK_MSG_FLAGS_OFFSET,e->flags);
SIVAL(msg,OP_BREAK_MSG_NAME_HASH_OFFSET,e->name_hash);
-#ifdef CLUSTER_SUPPORT
SIVAL(msg,OP_BREAK_MSG_VNN_OFFSET,e->pid.vnn);
-#endif
}
/****************************************************************************
@@ -911,9 +909,7 @@ void message_to_share_mode_entry(struct share_mode_entry *e, char *msg)
e->uid = (uint32)IVAL(msg,OP_BREAK_MSG_UID_OFFSET);
e->flags = (uint16)SVAL(msg,OP_BREAK_MSG_FLAGS_OFFSET);
e->name_hash = IVAL(msg,OP_BREAK_MSG_NAME_HASH_OFFSET);
-#ifdef CLUSTER_SUPPORT
e->pid.vnn = IVAL(msg,OP_BREAK_MSG_VNN_OFFSET);
-#endif
}
/****************************************************************************
diff --git a/source3/utils/net_serverid.c b/source3/utils/net_serverid.c
index 0561b84474..ab4da1d26b 100644
--- a/source3/utils/net_serverid.c
+++ b/source3/utils/net_serverid.c
@@ -44,11 +44,9 @@ static int net_serverid_wipe_fn(struct db_record *rec,
{
NTSTATUS status;
-#ifdef CLUSTER_SUPPORT
if (id->vnn != get_my_vnn()) {
return 0;
}
-#endif
status = rec->delete_rec(rec);
if (!NT_STATUS_IS_OK(status)) {
char *str = procid_str(talloc_tos(), id);