From: Jeremy Allison Date: Fri, 1 May 2015 16:56:59 +0000 (-0700) Subject: s3: nmbd: Don't set work_changed = True inside update_server_ttl(). X-Git-Tag: samba-4.1.18~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9ca30cfc9e5a94783b3c6226a74b3350278cf0d;p=thirdparty%2Fsamba.git s3: nmbd: Don't set work_changed = True inside update_server_ttl(). This is taken care of inside expire_servers() when it calls remove_server_from_workgroup(). Ensure the only functions in nmbd_serverlistdb.c that set subnet->work_changed are: remove_all_servers() add_server_to_workgroup() remove_server_from_workgroup() Fix inspired by a change from Volker. https://bugzilla.samba.org/show_bug.cgi?id=11254 Signed-off-by: Jeremy Allison Reviewed-by: Andreas Schneider (cherry picked from commit c3c820a661c092de31d56c16c8cd1ec57999d2f7) Autobuild-User(v4-1-test): Karolin Seeger Autobuild-Date(v4-1-test): Wed May 6 22:32:36 CEST 2015 on sn-devel-104 --- diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c index 05ca6e9367f..9bc4a20bc83 100644 --- a/source3/nmbd/nmbd_serverlistdb.c +++ b/source3/nmbd/nmbd_serverlistdb.c @@ -133,8 +133,6 @@ workgroup %s. This is a bug.\n", name, work->work_group)); DEBUG(3,("create_server_on_workgroup: Created server entry %s of type %x (%s) on \ workgroup %s.\n", name,servertype,comment, work->work_group)); - work->subnet->work_changed = True; - return(servrec); } @@ -151,8 +149,6 @@ void update_server_ttl(struct server_record *servrec, int ttl) servrec->death_time = PERMANENT_TTL; else servrec->death_time = (ttl != PERMANENT_TTL) ? time(NULL)+(ttl*3) : PERMANENT_TTL; - - servrec->subnet->work_changed = True; } /******************************************************************* @@ -172,7 +168,6 @@ void expire_servers(struct work_record *work, time_t t) if ((servrec->death_time != PERMANENT_TTL) && ((t == -1) || (servrec->death_time < t))) { DEBUG(3,("expire_old_servers: Removing timed out server %s\n",servrec->serv.name)); remove_server_from_workgroup(work, servrec); - work->subnet->work_changed = True; } } }