dovecot-2.2: director: Code cleanup - make most mail_host_*() li...

dovecot at dovecot.org dovecot at dovecot.org
Tue Nov 24 09:15:57 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/39cfca637d60
changeset: 19407:39cfca637d60
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Nov 23 19:38:31 2015 +0200
description:
director: Code cleanup - make most mail_host_*() list parameters unnecessary.

diffstat:

 src/director/director-connection.c |   6 ++----
 src/director/director.c            |   2 +-
 src/director/doveadm-connection.c  |   5 ++---
 src/director/mail-host.c           |  14 +++++++-------
 src/director/mail-host.h           |  10 +++++-----
 5 files changed, 17 insertions(+), 20 deletions(-)

diffs (126 lines):

diff -r 63516762a64c -r 39cfca637d60 src/director/director-connection.c
--- a/src/director/director-connection.c	Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/director-connection.c	Mon Nov 23 19:38:31 2015 +0200
@@ -931,10 +931,8 @@
 	}
 
 	if (update) {
-		mail_host_set_down(conn->dir->mail_hosts, host,
-				   down, last_updown_change);
-		mail_host_set_vhost_count(conn->dir->mail_hosts,
-					  host, vhost_count);
+		mail_host_set_down(host, down, last_updown_change);
+		mail_host_set_vhost_count(host, vhost_count);
 		director_update_host(conn->dir, src_host, dir_host, host);
 	} else {
 		dir_debug("Ignoring host %s update vhost_count=%u "
diff -r 63516762a64c -r 39cfca637d60 src/director/director.c
--- a/src/director/director.c	Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/director.c	Mon Nov 23 19:38:31 2015 +0200
@@ -601,7 +601,7 @@
 	}
 
 	user_directory_remove_host(dir->users, host);
-	mail_host_remove(dir->mail_hosts, host);
+	mail_host_remove(host);
 	director_sync(dir);
 }
 
diff -r 63516762a64c -r 39cfca637d60 src/director/doveadm-connection.c
--- a/src/director/doveadm-connection.c	Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/doveadm-connection.c	Mon Nov 23 19:38:31 2015 +0200
@@ -288,7 +288,7 @@
 		return TRUE;
 	}
 	if (vhost_count != UINT_MAX)
-		mail_host_set_vhost_count(dir->mail_hosts, host, vhost_count);
+		mail_host_set_vhost_count(host, vhost_count);
 	/* NOTE: we don't support changing a tag for an existing host.
 	   it needs to be removed first. otherwise it would be a bit ugly to
 	   handle. */
@@ -334,8 +334,7 @@
 			"host is already being updated - try again later\n");
 		return TRUE;
 	} else {
-		mail_host_set_down(conn->dir->mail_hosts, host,
-				   down, ioloop_time);
+		mail_host_set_down(host, down, ioloop_time);
 		director_update_host(conn->dir, conn->dir->self_host,
 				     NULL, host);
 	}
diff -r 63516762a64c -r 39cfca637d60 src/director/mail-host.c
--- a/src/director/mail-host.c	Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/mail-host.c	Mon Nov 23 19:38:31 2015 +0200
@@ -144,6 +144,7 @@
 	i_assert(tag != NULL);
 
 	host = i_new(struct mail_host, 1);
+	host->list = list;
 	host->vhost_count = VHOST_MULTIPLIER;
 	host->ip = *ip;
 	host->tag = i_strdup(tag);
@@ -305,21 +306,19 @@
 	host->tag = i_strdup(tag);
 }
 
-void mail_host_set_down(struct mail_host_list *list,
-			struct mail_host *host, bool down, time_t timestamp)
+void mail_host_set_down(struct mail_host *host, bool down, time_t timestamp)
 {
 	if (host->down != down) {
 		host->down = down;
 		host->last_updown_change = timestamp;
-		list->hosts_unsorted = TRUE;
+		host->list->hosts_unsorted = TRUE;
 	}
 }
 
-void mail_host_set_vhost_count(struct mail_host_list *list,
-			       struct mail_host *host, unsigned int vhost_count)
+void mail_host_set_vhost_count(struct mail_host *host, unsigned int vhost_count)
 {
 	host->vhost_count = vhost_count;
-	list->hosts_unsorted = TRUE;
+	host->list->hosts_unsorted = TRUE;
 }
 
 static void mail_host_free(struct mail_host *host)
@@ -329,8 +328,9 @@
 	i_free(host);
 }
 
-void mail_host_remove(struct mail_host_list *list, struct mail_host *host)
+void mail_host_remove(struct mail_host *host)
 {
+	struct mail_host_list *list = host->list;
 	struct mail_host *const *hosts;
 	unsigned int i, count;
 
diff -r 63516762a64c -r 39cfca637d60 src/director/mail-host.h
--- a/src/director/mail-host.h	Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/mail-host.h	Mon Nov 23 19:38:31 2015 +0200
@@ -6,6 +6,8 @@
 struct mail_host_list;
 
 struct mail_host {
+	struct mail_host_list *list;
+
 	unsigned int user_count;
 	unsigned int vhost_count;
 	/* server up/down. down=TRUE has effectively the same result as if
@@ -37,12 +39,10 @@
 int mail_hosts_parse_and_add(struct mail_host_list *list,
 			     const char *hosts_string);
 void mail_host_set_tag(struct mail_host *host, const char *tag);
-void mail_host_set_down(struct mail_host_list *list,
-			struct mail_host *host, bool down, time_t timestamp);
-void mail_host_set_vhost_count(struct mail_host_list *list,
-			       struct mail_host *host,
+void mail_host_set_down(struct mail_host *host, bool down, time_t timestamp);
+void mail_host_set_vhost_count(struct mail_host *host,
 			       unsigned int vhost_count);
-void mail_host_remove(struct mail_host_list *list, struct mail_host *host);
+void mail_host_remove(struct mail_host *host);
 
 void mail_hosts_set_synced(struct mail_host_list *list);
 unsigned int mail_hosts_hash(struct mail_host_list *list);


More information about the dovecot-cvs mailing list