Blame SOURCES/autofs-5.0.8-fix-negative-status-being-reset-on-map-read.patch

6bbd11
autofs-5.0.8 - fix negative status being reset on map read
6bbd11
6bbd11
From: Ian Kent <raven@themaw.net>
6bbd11
6bbd11
The map entry status field, which holds the negative cache timeout,
6bbd11
gets reset on a map re-read.
6bbd11
6bbd11
If the negative map entry was added at the same time as the map
6bbd11
read and it was for an entry that was never in the map, the
6bbd11
status gets reset even though the entry is still a valid
6bbd11
negative entry.
6bbd11
6bbd11
Consequently lookups for non-existent map entries are never
6bbd11
seen as negative and the lookup always continues.
6bbd11
---
6bbd11
 CHANGELOG       |    1 +
6bbd11
 daemon/lookup.c |    3 ++-
6bbd11
 2 files changed, 3 insertions(+), 1 deletion(-)
6bbd11
6bbd11
--- autofs-5.0.7.orig/CHANGELOG
6bbd11
+++ autofs-5.0.7/CHANGELOG
6bbd11
@@ -70,6 +70,7 @@
6bbd11
 - get_nfs_info() should query portmapper if port is not given.
6bbd11
 - fix rpc_portmap_getport() proto not set.
6bbd11
 - fix protmap not trying proto v2.
6bbd11
+- fix negative status being reset on map read.
6bbd11
 
6bbd11
 25/07/2012 autofs-5.0.7
6bbd11
 =======================
6bbd11
--- autofs-5.0.7.orig/daemon/lookup.c
6bbd11
+++ autofs-5.0.7/daemon/lookup.c
6bbd11
@@ -1042,7 +1042,8 @@ void lookup_prune_one_cache(struct autof
6bbd11
 			 * Reset time of last fail for valid map entries to
6bbd11
 			 * force entry update and subsequent mount retry.
6bbd11
 			 */
6bbd11
-			me->status = 0;
6bbd11
+			if (me->mapent)
6bbd11
+				me->status = 0;
6bbd11
 			me = cache_enumerate(mc, me);
6bbd11
 			continue;
6bbd11
 		}