]>
Commit | Line | Data |
---|---|---|
e5fd101c PS |
1 | autofs-5.0.4 - library reload fix update fix 2 |
2 | ||
3 | From: Ian Kent <raven@themaw.net> | |
4 | ||
5 | The library reload fixes introduced a bug which causes autofs to | |
6 | not release mount thread resources when using submounts. | |
7 | --- | |
8 | ||
9 | CHANGELOG | 1 + | |
10 | daemon/automount.c | 11 +++++++++-- | |
11 | 2 files changed, 10 insertions(+), 2 deletions(-) | |
12 | ||
13 | ||
14 | diff --git a/CHANGELOG b/CHANGELOG | |
15 | index f49784a..d1cc113 100644 | |
16 | --- a/CHANGELOG | |
17 | +++ b/CHANGELOG | |
18 | @@ -50,6 +50,7 @@ | |
19 | - always read file maps multi map fix. | |
20 | - always read file maps key lookup fixes. | |
21 | - use srv query for domain dn. | |
22 | +- fix not releasing resources when using submounts. | |
23 | ||
24 | 4/11/2008 autofs-5.0.4 | |
25 | ----------------------- | |
26 | diff --git a/daemon/automount.c b/daemon/automount.c | |
27 | index 3a0fe0b..44dcdd6 100644 | |
28 | --- a/daemon/automount.c | |
29 | +++ b/daemon/automount.c | |
30 | @@ -1460,14 +1460,21 @@ static void handle_mounts_cleanup(void *arg) | |
31 | master_remove_mapent(ap->entry); | |
32 | master_source_unlock(ap->entry); | |
33 | ||
34 | + destroy_logpri_fifo(ap); | |
35 | + | |
36 | + /* | |
37 | + * Submounts are detached threads and don't belong to the | |
38 | + * master map entry list so we need to free their resources | |
39 | + * here. | |
40 | + */ | |
41 | if (submount) { | |
42 | mounts_mutex_unlock(ap->parent); | |
43 | master_source_unlock(ap->parent->entry); | |
44 | + master_free_mapent_sources(ap->entry, 1); | |
45 | + master_free_mapent(ap->entry); | |
46 | } | |
47 | master_mutex_unlock(); | |
48 | ||
49 | - destroy_logpri_fifo(ap); | |
50 | - | |
51 | if (clean) { | |
52 | if (rmdir(path) == -1) { | |
53 | char *estr = strerror_r(errno, buf, MAX_ERR_BUF); |