156 lines
5.5 KiB
Diff
156 lines
5.5 KiB
Diff
|
autofs-5.1.5 - add config option for "ignore" mount option
|
||
|
|
||
|
From: Ian Kent <raven@themaw.net>
|
||
|
|
||
|
Add a configuration option to control whether the autofs pseudo
|
||
|
mount option is used on autofs mounts.
|
||
|
|
||
|
The default setting is "no" to avoid unexpected behaviour and
|
||
|
so is an opt-in setting for those who understand that, if user
|
||
|
space utilities and libraries honour this, then autofs mounts
|
||
|
will be ommitted from mount table listings.
|
||
|
|
||
|
Signed-off-by: Ian Kent <raven@themaw.net>
|
||
|
---
|
||
|
CHANGELOG | 1 +
|
||
|
include/defaults.h | 2 ++
|
||
|
lib/defaults.c | 17 +++++++++++++++++
|
||
|
lib/master.c | 3 ++-
|
||
|
man/autofs.conf.5.in | 7 +++++++
|
||
|
redhat/autofs.conf.default.in | 9 +++++++++
|
||
|
samples/autofs.conf.default.in | 9 +++++++++
|
||
|
7 files changed, 47 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- autofs-5.1.4.orig/CHANGELOG
|
||
|
+++ autofs-5.1.4/CHANGELOG
|
||
|
@@ -62,6 +62,7 @@ xx/xx/2018 autofs-5.1.5
|
||
|
- fix unlink_mount_tree() not umounting mounts.
|
||
|
- add ignore mount option.
|
||
|
- use ignore option for offset mounts as well.
|
||
|
+- add config option for "ignore" mount option
|
||
|
|
||
|
19/12/2017 autofs-5.1.4
|
||
|
- fix spec file url.
|
||
|
--- autofs-5.1.4.orig/include/defaults.h
|
||
|
+++ autofs-5.1.4/include/defaults.h
|
||
|
@@ -51,6 +51,7 @@
|
||
|
|
||
|
#define DEFAULT_USE_HOSTNAME_FOR_MOUNTS "0"
|
||
|
#define DEFAULT_DISABLE_NOT_FOUND_MESSAGE "0"
|
||
|
+#define DEFAULT_USE_IGNORE_MOUNT_OPTION "0"
|
||
|
|
||
|
#define DEFAULT_SSS_MASTER_MAP_WAIT "0"
|
||
|
#define DEFAULT_USE_MOUNT_REQUEST_LOG_ID "0"
|
||
|
@@ -174,6 +175,7 @@ const char *defaults_get_auth_conf_file(
|
||
|
unsigned int defaults_get_map_hash_table_size(void);
|
||
|
unsigned int defaults_use_hostname_for_mounts(void);
|
||
|
unsigned int defaults_disable_not_found_message(void);
|
||
|
+unsigned int defaults_get_use_ignore_mount_option(void);
|
||
|
unsigned int defaults_get_sss_master_map_wait(void);
|
||
|
unsigned int defaults_get_use_mount_request_log_id(void);
|
||
|
|
||
|
--- autofs-5.1.4.orig/lib/defaults.c
|
||
|
+++ autofs-5.1.4/lib/defaults.c
|
||
|
@@ -77,6 +77,7 @@
|
||
|
|
||
|
#define NAME_USE_HOSTNAME_FOR_MOUNTS "use_hostname_for_mounts"
|
||
|
#define NAME_DISABLE_NOT_FOUND_MESSAGE "disable_not_found_message"
|
||
|
+#define NAME_USE_IGNORE_MOUNT_OPTION "use_ignore_mount_option"
|
||
|
|
||
|
#define NAME_SSS_MASTER_MAP_WAIT "sss_master_map_wait"
|
||
|
#define NAME_USE_MOUNT_REQUEST_LOG_ID "use_mount_request_log_id"
|
||
|
@@ -364,6 +365,11 @@ static int conf_load_autofs_defaults(voi
|
||
|
if (ret == CFG_FAIL)
|
||
|
goto error;
|
||
|
|
||
|
+ ret = conf_update(sec, NAME_USE_IGNORE_MOUNT_OPTION,
|
||
|
+ DEFAULT_USE_IGNORE_MOUNT_OPTION, CONF_ENV);
|
||
|
+ if (ret == CFG_FAIL)
|
||
|
+ goto error;
|
||
|
+
|
||
|
ret = conf_update(sec, NAME_SSS_MASTER_MAP_WAIT,
|
||
|
DEFAULT_SSS_MASTER_MAP_WAIT, CONF_ENV);
|
||
|
if (ret == CFG_FAIL)
|
||
|
@@ -1863,6 +1869,17 @@ unsigned int defaults_disable_not_found_
|
||
|
|
||
|
return res;
|
||
|
}
|
||
|
+
|
||
|
+unsigned int defaults_get_use_ignore_mount_option(void)
|
||
|
+{
|
||
|
+ int res;
|
||
|
+
|
||
|
+ res = conf_get_yesno(autofs_gbl_sec, NAME_USE_IGNORE_MOUNT_OPTION);
|
||
|
+ if (res < 0)
|
||
|
+ res = atoi(DEFAULT_USE_IGNORE_MOUNT_OPTION);
|
||
|
+
|
||
|
+ return res;
|
||
|
+}
|
||
|
|
||
|
unsigned int defaults_get_sss_master_map_wait(void)
|
||
|
{
|
||
|
--- autofs-5.1.4.orig/lib/master.c
|
||
|
+++ autofs-5.1.4/lib/master.c
|
||
|
@@ -101,7 +101,8 @@ int master_add_autofs_point(struct maste
|
||
|
ap->negative_timeout = global_negative_timeout;
|
||
|
ap->exp_timeout = defaults_get_timeout();
|
||
|
ap->exp_runfreq = 0;
|
||
|
- ap->flags = MOUNT_FLAG_IGNORE;
|
||
|
+ if (defaults_get_use_ignore_mount_option())
|
||
|
+ ap->flags = MOUNT_FLAG_IGNORE;
|
||
|
if (ghost)
|
||
|
ap->flags |= MOUNT_FLAG_GHOST;
|
||
|
|
||
|
--- autofs-5.1.4.orig/man/autofs.conf.5.in
|
||
|
+++ autofs-5.1.4/man/autofs.conf.5.in
|
||
|
@@ -151,6 +151,13 @@ That produces, IMHO, unnecessary noise i
|
||
|
has been added to provide the ability to turn it off. The default is "no"
|
||
|
to maintain the current behaviour.
|
||
|
.TP
|
||
|
+.B use_ignore_mount_option
|
||
|
+.br
|
||
|
+An option to enable the use of autofs pseudo option "disable". This option
|
||
|
+is used as a hint to user space that the mount entry should be ommitted from
|
||
|
+mount table listings. The default is "no" to avoid unexpected changes in
|
||
|
+behaviour and so is an opt-in setting.
|
||
|
+.TP
|
||
|
.B sss_master_map_wait
|
||
|
.br
|
||
|
Set the time to wait and retry if sssd returns "no such entry" when starting
|
||
|
--- autofs-5.1.4.orig/redhat/autofs.conf.default.in
|
||
|
+++ autofs-5.1.4/redhat/autofs.conf.default.in
|
||
|
@@ -183,6 +183,15 @@ mount_nfs_default_protocol = 4
|
||
|
#
|
||
|
#disable_not_found_message = "no"
|
||
|
#
|
||
|
+# use_ignore_mount_option - This option is used to enable the use of autofs
|
||
|
+# pseudo option "disable". This option is used as a
|
||
|
+# hint to user space that the mount entry should be
|
||
|
+# ommitted from mount table listings. The default is
|
||
|
+# "no" to avoid unexpected changes in behaviour and
|
||
|
+# so is an opt-in setting.
|
||
|
+#
|
||
|
+#use_ignore_mount_option = no
|
||
|
+#
|
||
|
# sss_master_map_wait - When sssd is starting up it can sometimes return
|
||
|
# "no such entry" for a short time until it has read
|
||
|
# in the LDAP map information. Internal default is 0
|
||
|
--- autofs-5.1.4.orig/samples/autofs.conf.default.in
|
||
|
+++ autofs-5.1.4/samples/autofs.conf.default.in
|
||
|
@@ -182,6 +182,15 @@ browse_mode = no
|
||
|
#
|
||
|
#disable_not_found_message = "no"
|
||
|
#
|
||
|
+# use_ignore_mount_option - This option is used to enable the use of autofs
|
||
|
+# pseudo option "disable". This option is used as a
|
||
|
+# hint to user space that the mount entry should be
|
||
|
+# ommitted from mount table listings. The default is
|
||
|
+# "no" to avoid unexpected changes in behaviour and
|
||
|
+# so is an opt-in setting.
|
||
|
+#
|
||
|
+#use_ignore_mount_option = no
|
||
|
+#
|
||
|
# sss_master_map_wait - When sssd is starting up it can sometimes return
|
||
|
# "no such entry" for a short time until it has read
|
||
|
# in the LDAP map information. Internal default is 0
|