Fix bug that made automount(8) never unmount stale autofs(5) mounts,

ie mounts for entries that were there in auto_master(5), and then
got removed.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Edward Tomasz Napierala 2014-12-14 10:49:22 +00:00
parent da0ba09710
commit cc4026a45c

View File

@ -676,8 +676,8 @@ node_print(const struct node *n)
node_print_indent(child, 0);
}
struct node *
node_find(struct node *node, const char *path)
static struct node *
node_find_x(struct node *node, const char *path)
{
struct node *child, *found;
char *tmp;
@ -702,7 +702,7 @@ node_find(struct node *node, const char *path)
free(tmp);
TAILQ_FOREACH(child, &node->n_children, n_next) {
found = node_find(child, path);
found = node_find_x(child, path);
if (found != NULL)
return (found);
}
@ -710,6 +710,17 @@ node_find(struct node *node, const char *path)
return (node);
}
struct node *
node_find(struct node *root, const char *path)
{
struct node *node;
node = node_find_x(root, path);
if (node == root)
return (NULL);
return (node);
}
/*
* Canonical form of a map entry looks like this:
*