autofs-5.0.8 - dont ignore null cache entries on multi mount umount From: Ian Kent When umounting the offsets of a multi-mount negative cache entries shouldn't be ignored. Even if the mount they correspond to failed to mount the trigger still needs to be umounted. Not ignoring negative entries when cleaning stale multi-mount entries isn't obviously the right thing to do but, since the multi-mount entry should have been refreshed, there shouldn't be any valid negative entries so they must be stale and need to go. --- CHANGELOG | 1 + lib/mounts.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index eb018d0..a838166 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -33,6 +33,7 @@ - make autofs(5) consistent with auto.master(5). - fix map source with type lookup. - fix lookup_nss_mount() map lookup. +- dont ignore null cache entries on multi mount umount. 17/10/2013 autofs-5.0.8 ======================= diff --git a/lib/mounts.c b/lib/mounts.c index f666f29..0caaeda 100644 --- a/lib/mounts.c +++ b/lib/mounts.c @@ -1804,7 +1804,7 @@ int umount_multi_triggers(struct autofs_point *ap, struct mapent *me, char *root oe = cache_lookup_offset(mm_base, offset, start, &me->multi_list); /* root offset is a special case */ - if (!oe || !oe->mapent || (strlen(oe->key) - start) == 1) + if (!oe || (strlen(oe->key) - start) == 1) continue; /* @@ -1926,7 +1926,7 @@ int clean_stale_multi_triggers(struct autofs_point *ap, oe = cache_lookup_offset(mm_base, offset, start, &me->multi_list); /* root offset is a special case */ - if (!oe || !oe->mapent || (strlen(oe->key) - start) == 1) + if (!oe || (strlen(oe->key) - start) == 1) continue; /* Check for and umount stale subtree offsets */