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

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