- add missing patch for bug 1942371, add fixes for bugs 1958489 and 1958486.
This commit is contained in:
parent
258d54465d
commit
059c556a9d
48
autofs-5.1.7-fix-amd-hosts-mount-expire.patch
Normal file
48
autofs-5.1.7-fix-amd-hosts-mount-expire.patch
Normal file
@ -0,0 +1,48 @@
|
||||
autofs-5.1.7 - fix amd hosts mount expire
|
||||
|
||||
From: Ian Kent <raven@themaw.net>
|
||||
|
||||
When swicthing to use the mnt_list to track mounts for expire, if the
|
||||
amd hosts map entry name is for the host short name, the amd mount
|
||||
entry for the short name gets removed. This causes a subsequent mounts
|
||||
for host exports to fail.
|
||||
|
||||
What should happen is the short name amd entry not be removed and a
|
||||
mounted mount entry for the symlinked FQDN mount added so it expires.
|
||||
|
||||
Signed-off-by: Ian Kent <raven@themaw.net>
|
||||
---
|
||||
CHANGELOG | 1 +
|
||||
modules/parse_amd.c | 9 +++++----
|
||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
--- autofs-5.1.7.orig/CHANGELOG
|
||||
+++ autofs-5.1.7/CHANGELOG
|
||||
@@ -68,6 +68,7 @@
|
||||
- add ext_mount_hash_mutex lock helpers.
|
||||
- fix dangling symlink creation if nis support is not available.
|
||||
- fix amd section mounts map reload.
|
||||
+- fix amd hosts mount expire.
|
||||
|
||||
25/01/2021 autofs-5.1.7
|
||||
- make bind mounts propagation slave by default.
|
||||
--- autofs-5.1.7.orig/modules/parse_amd.c
|
||||
+++ autofs-5.1.7/modules/parse_amd.c
|
||||
@@ -2341,12 +2341,13 @@ int parse_mount(struct autofs_point *ap,
|
||||
if (!rv) {
|
||||
/*
|
||||
* If entry->path doesn't match the mnt->mp then
|
||||
- * the mount point path has changed and a new
|
||||
- * mnt_list entry added for it, so remove the
|
||||
- * original.
|
||||
+ * it's a "host" map and the mount point path is
|
||||
+ * different to the lookup name. Add a new mnt_list
|
||||
+ * entry so that both the symlinked name and the
|
||||
+ * mount expire.
|
||||
*/
|
||||
if (strcmp(this->path, mnt->mp))
|
||||
- mnts_remove_amdmount(this->path);
|
||||
+ mnts_add_mount(ap, this->rhost, MNTS_INDIRECT|MNTS_MOUNTED);
|
||||
break;
|
||||
}
|
||||
/* Not mounted, remove the mnt_list entry from amdmount list */
|
120
autofs-5.1.7-fix-amd-section-mounts-map-reload.patch
Normal file
120
autofs-5.1.7-fix-amd-section-mounts-map-reload.patch
Normal file
@ -0,0 +1,120 @@
|
||||
autofs-5.1.7 - fix amd section mounts map reload
|
||||
|
||||
From: Ian Kent <raven@themaw.net>
|
||||
|
||||
Master map section mounts (amd format mounts) get umounted on reload.
|
||||
|
||||
Signed-off-by: Ian Kent <raven@themaw.net>
|
||||
---
|
||||
CHANGELOG | 1
|
||||
daemon/master.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 81 insertions(+), 1 deletion(-)
|
||||
|
||||
--- autofs-5.1.7.orig/CHANGELOG
|
||||
+++ autofs-5.1.7/CHANGELOG
|
||||
@@ -67,6 +67,7 @@
|
||||
- cater for empty mounts list in mnts_get_expire_list().
|
||||
- add ext_mount_hash_mutex lock helpers.
|
||||
- fix dangling symlink creation if nis support is not available.
|
||||
+- fix amd section mounts map reload.
|
||||
|
||||
25/01/2021 autofs-5.1.7
|
||||
- make bind mounts propagation slave by default.
|
||||
--- autofs-5.1.7.orig/daemon/master.c
|
||||
+++ autofs-5.1.7/daemon/master.c
|
||||
@@ -882,6 +882,83 @@ struct master *master_new(const char *na
|
||||
return master;
|
||||
}
|
||||
|
||||
+static void master_update_amd_mount_section_mount(struct master *master,
|
||||
+ const char *path, time_t age)
|
||||
+{
|
||||
+ unsigned int m_logopt = master->logopt;
|
||||
+ struct master_mapent *entry;
|
||||
+ struct map_source *source;
|
||||
+ unsigned int loglevel;
|
||||
+ unsigned int logopt;
|
||||
+ unsigned int flags;
|
||||
+ time_t timeout;
|
||||
+ char *map;
|
||||
+ char *opts;
|
||||
+
|
||||
+ entry = master_find_mapent(master, path);
|
||||
+ if (!entry)
|
||||
+ return;
|
||||
+
|
||||
+ map = conf_amd_get_map_name(path);
|
||||
+ if (!map)
|
||||
+ return;
|
||||
+
|
||||
+ /* amd top level mounts have only one map */
|
||||
+ source = entry->maps;
|
||||
+ if (strcmp(source->name, map) != 0) {
|
||||
+ struct map_source *new;
|
||||
+ char *type;
|
||||
+ char *argv[2];
|
||||
+
|
||||
+ type = conf_amd_get_map_type(path);
|
||||
+ argv[0] = map;
|
||||
+ argv[1] = NULL;
|
||||
+
|
||||
+ new = master_add_map_source(entry, type, "amd",
|
||||
+ age, 1, (const char **) argv);
|
||||
+ if (!new) {
|
||||
+ error(m_logopt,
|
||||
+ "failed to add source for amd section mount %s",
|
||||
+ path);
|
||||
+ if (type)
|
||||
+ free(type);
|
||||
+ goto out;
|
||||
+ }
|
||||
+ master_free_map_source(source, 0);
|
||||
+ entry->maps = new;
|
||||
+ source = new;
|
||||
+ if (type)
|
||||
+ free(type);
|
||||
+ }
|
||||
+
|
||||
+ loglevel = conf_amd_get_log_options();
|
||||
+ logopt = m_logopt;
|
||||
+ if (loglevel <= LOG_DEBUG && loglevel > LOG_INFO)
|
||||
+ logopt = LOGOPT_DEBUG;
|
||||
+ else if (loglevel <= LOG_INFO && loglevel > LOG_ERR)
|
||||
+ logopt = LOGOPT_VERBOSE;
|
||||
+
|
||||
+ flags = conf_amd_get_flags(path);
|
||||
+ if (flags & CONF_BROWSABLE_DIRS)
|
||||
+ entry->ap->flags |= MOUNT_FLAG_GHOST;
|
||||
+
|
||||
+ opts = conf_amd_get_map_options(path);
|
||||
+ if (opts) {
|
||||
+ if (strstr(opts, "cache:=all"))
|
||||
+ entry->ap->flags |= MOUNT_FLAG_AMD_CACHE_ALL;
|
||||
+ free(opts);
|
||||
+ }
|
||||
+
|
||||
+ entry->ap->logopt = logopt;
|
||||
+
|
||||
+ timeout = conf_amd_get_dismount_interval(path);
|
||||
+ set_exp_timeout(entry->ap, source, timeout);
|
||||
+ source->master_line = 0;
|
||||
+ entry->age = age;
|
||||
+out:
|
||||
+ free(map);
|
||||
+}
|
||||
+
|
||||
static void master_add_amd_mount_section_mounts(struct master *master, time_t age)
|
||||
{
|
||||
unsigned int m_logopt = master->logopt;
|
||||
@@ -916,8 +993,10 @@ static void master_add_amd_mount_section
|
||||
* master map it's not a duplicate, don't issue
|
||||
* an error message.
|
||||
*/
|
||||
- if (ret == 1)
|
||||
+ if (ret == 1) {
|
||||
+ master_update_amd_mount_section_mount(master, path, age);
|
||||
goto next;
|
||||
+ }
|
||||
info(m_logopt,
|
||||
"amd section mount path conflict, %s ignored",
|
||||
path);
|
@ -0,0 +1,35 @@
|
||||
autofs-5.1.7 - fix dangling symlink creation if nis support is not available
|
||||
|
||||
From: Ian Kent <raven@themaw.net>
|
||||
|
||||
If NIS support is not available a dangling symlink is created pointing
|
||||
from lookup_nis.so to (a non-existent) lookup_yp.so.
|
||||
|
||||
Signed-off-by: Ian Kent <raven@themaw.net>
|
||||
---
|
||||
CHANGELOG | 1 +
|
||||
modules/Makefile | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
--- autofs-5.1.7.orig/CHANGELOG
|
||||
+++ autofs-5.1.7/CHANGELOG
|
||||
@@ -66,6 +66,7 @@
|
||||
- refactor lookup_prune_one_cache() a bit.
|
||||
- cater for empty mounts list in mnts_get_expire_list().
|
||||
- add ext_mount_hash_mutex lock helpers.
|
||||
+- fix dangling symlink creation if nis support is not available.
|
||||
|
||||
25/01/2021 autofs-5.1.7
|
||||
- make bind mounts propagation slave by default.
|
||||
--- autofs-5.1.7.orig/modules/Makefile
|
||||
+++ autofs-5.1.7/modules/Makefile
|
||||
@@ -77,7 +77,9 @@ install: all
|
||||
install -c $(MODS) -m 755 $(INSTALLROOT)$(autofslibdir)
|
||||
-rm -f $(INSTALLROOT)$(autofslibdir)/mount_smbfs.so
|
||||
ln -fs lookup_file.so $(INSTALLROOT)$(autofslibdir)/lookup_files.so
|
||||
+ifeq ($(YPCLNT), 1)
|
||||
ln -fs lookup_yp.so $(INSTALLROOT)$(autofslibdir)/lookup_nis.so
|
||||
+endif
|
||||
ifeq ($(LDAP), 1)
|
||||
ln -fs lookup_ldap.so $(INSTALLROOT)$(autofslibdir)/lookup_ldaps.so
|
||||
endif
|
20
autofs.spec
20
autofs.spec
@ -12,7 +12,7 @@
|
||||
Summary: A tool for automatically mounting and unmounting filesystems
|
||||
Name: autofs
|
||||
Version: 5.1.7
|
||||
Release: 14%{?dist}
|
||||
Release: 15%{?dist}
|
||||
Epoch: 1
|
||||
License: GPLv2+
|
||||
Source: https://www.kernel.org/pub/linux/daemons/autofs/v5/autofs-%{version}-2.tar.gz
|
||||
@ -86,6 +86,9 @@ Patch64: autofs-5.1.7-fix-double-free-in-parse_mapent.patch
|
||||
Patch65: autofs-5.1.7-refactor-lookup_prune_one_cache-a-bit.patch
|
||||
Patch66: autofs-5.1.7-cater-for-empty-mounts-list-in-mnts_get_expire_list.patch
|
||||
Patch67: autofs-5.1.7-add-ext_mount_hash_mutex-lock-helpers.patch
|
||||
Patch68: autofs-5.1.7-fix-dangling-symlink-creation-if-nis-support-is-not-available.patch
|
||||
Patch69: autofs-5.1.7-fix-amd-section-mounts-map-reload.patch
|
||||
Patch70: autofs-5.1.7-fix-amd-hosts-mount-expire.patch
|
||||
|
||||
%if %{with_systemd}
|
||||
BuildRequires: systemd-units
|
||||
@ -219,6 +222,9 @@ echo %{version}-%{release} > .version
|
||||
%patch65 -p1
|
||||
%patch66 -p1
|
||||
%patch67 -p1
|
||||
%patch68 -p1
|
||||
%patch69 -p1
|
||||
%patch70 -p1
|
||||
|
||||
%build
|
||||
LDFLAGS=-Wl,-z,now
|
||||
@ -327,6 +333,18 @@ fi
|
||||
%dir /etc/auto.master.d
|
||||
|
||||
%changelog
|
||||
* Tue May 11 2021 Ian Kent <ikent@redhat.com> - 1:5.1.7-15
|
||||
- bz1942371 - Drop nis support from autofs
|
||||
- fix dangling symlink creation if nis support is not available
|
||||
(add missing patch).
|
||||
- bz1958489 - autofs amd mounts present in the configuration get
|
||||
umounted on reload
|
||||
- fix amd section mounts map reload.
|
||||
- bz1958486 - autofs amd type host mounts fail for certain host names
|
||||
- fix amd hosts mount expire.
|
||||
- Related: rhbz#1942371
|
||||
- Resolves: rhbz#1958489 rhbz#1958486
|
||||
|
||||
* Tue Apr 20 2021 Ian Kent <ikent@redhat.com> - 1:5.1.7-14
|
||||
- bz1951344 - the autofs distribution tar has a file with an incompatible
|
||||
license.
|
||||
|
Loading…
Reference in New Issue
Block a user