4563. [bug] Modified zones would occasionally fail to reload.

[RT #39424]
This commit is contained in:
Mark Andrews 2017-02-02 17:11:15 +11:00
parent f783c2d579
commit dfe3068ef3
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,6 @@
4563. [bug] Modified zones would occasionally fail to reload.
[RT #39424]
4562. [func] Add additional memory statistics currently malloced
and maxmalloced per memory context. [RT #43593]

View file

@ -1828,7 +1828,6 @@ zone_touched(dns_zone_t *zone) {
return (ISC_TRUE);
}
return (ISC_FALSE);
}
@ -1908,6 +1907,8 @@ zone_load(dns_zone_t *zone, unsigned int flags, isc_boolean_t locked) {
* been loaded yet, zone->loadtime will be the epoch.
*/
if (zone->masterfile != NULL) {
isc_time_t filetime;
/*
* The file is already loaded. If we are just doing a
* "rndc reconfig", we are done.
@ -1927,6 +1928,16 @@ zone_load(dns_zone_t *zone, unsigned int flags, isc_boolean_t locked) {
result = DNS_R_UPTODATE;
goto cleanup;
}
/*
* If the file modification time is in the past
* set loadtime to that value.
*/
result = isc_file_getmodtime(zone->masterfile, &filetime);
if (result == ISC_R_SUCCESS &&
isc_time_compare(&loadtime, &filetime) > 0)
loadtime = filetime;
}
/*