Blame SOURCES/0029-libmultipath-deprecate-file-and-directory-config-opt.patch

e65fa3
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
e65fa3
From: Benjamin Marzinski <bmarzins@redhat.com>
e65fa3
Date: Wed, 10 Nov 2021 18:34:08 -0600
e65fa3
Subject: [PATCH] libmultipath: deprecate file and directory config options
e65fa3
e65fa3
Having multipath able to select pathnames for the files and directories
e65fa3
it needs causes unnecessary maintainer headaches. Mark these as
e65fa3
deprecated, but still support them for now.
e65fa3
e65fa3
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
e65fa3
---
e65fa3
 libmultipath/dict.c        | 19 +++++++++++++++----
e65fa3
 multipath/multipath.conf.5 |  5 +++++
e65fa3
 2 files changed, 20 insertions(+), 4 deletions(-)
e65fa3
e65fa3
diff --git a/libmultipath/dict.c b/libmultipath/dict.c
e65fa3
index 149d3348..d14be340 100644
e65fa3
--- a/libmultipath/dict.c
e65fa3
+++ b/libmultipath/dict.c
e65fa3
@@ -268,6 +268,15 @@ def_ ## option ## _handler (struct config *conf, vector strvec,		\
e65fa3
 	return function (strvec, &conf->option, file, line_nr);		\
e65fa3
 }
e65fa3
 
e65fa3
+#define declare_def_warn_handler(option, function)			\
e65fa3
+static int								\
e65fa3
+def_ ## option ## _handler (struct config *conf, vector strvec,		\
e65fa3
+			    const char *file, int line_nr)		\
e65fa3
+{									\
e65fa3
+	condlog(2, "%s line %d, \"" #option "\" is deprecated and will be disabled in a future release", file, line_nr);				\
e65fa3
+	return function (strvec, &conf->option, file, line_nr);		\
e65fa3
+}
e65fa3
+
e65fa3
 #define declare_def_range_handler(option, minval, maxval)			\
e65fa3
 static int								\
e65fa3
 def_ ## option ## _handler (struct config *conf, vector strvec,         \
e65fa3
@@ -421,7 +430,7 @@ declare_def_snprint(verbosity, print_int)
e65fa3
 declare_def_handler(reassign_maps, set_yes_no)
e65fa3
 declare_def_snprint(reassign_maps, print_yes_no)
e65fa3
 
e65fa3
-declare_def_handler(multipath_dir, set_dir)
e65fa3
+declare_def_warn_handler(multipath_dir, set_dir)
e65fa3
 declare_def_snprint(multipath_dir, print_str)
e65fa3
 
e65fa3
 static int def_partition_delim_handler(struct config *conf, vector strvec,
e65fa3
@@ -654,13 +663,13 @@ declare_hw_snprint(user_friendly_names, print_yes_no_undef)
e65fa3
 declare_mp_handler(user_friendly_names, set_yes_no_undef)
e65fa3
 declare_mp_snprint(user_friendly_names, print_yes_no_undef)
e65fa3
 
e65fa3
-declare_def_handler(bindings_file, set_path)
e65fa3
+declare_def_warn_handler(bindings_file, set_path)
e65fa3
 declare_def_snprint(bindings_file, print_str)
e65fa3
 
e65fa3
-declare_def_handler(wwids_file, set_path)
e65fa3
+declare_def_warn_handler(wwids_file, set_path)
e65fa3
 declare_def_snprint(wwids_file, print_str)
e65fa3
 
e65fa3
-declare_def_handler(prkeys_file, set_path)
e65fa3
+declare_def_warn_handler(prkeys_file, set_path)
e65fa3
 declare_def_snprint(prkeys_file, print_str)
e65fa3
 
e65fa3
 declare_def_handler(retain_hwhandler, set_yes_no_undef)
e65fa3
@@ -760,6 +769,8 @@ def_config_dir_handler(struct config *conf, vector strvec, const char *file,
e65fa3
 	/* this is only valid in the main config file */
e65fa3
 	if (conf->processed_main_config)
e65fa3
 		return 0;
e65fa3
+	condlog(2, "%s line %d, \"config_dir\" is deprecated and will be disabled in a future release",
e65fa3
+		file, line_nr);
e65fa3
 	return set_path(strvec, &conf->config_dir, file, line_nr);
e65fa3
 }
e65fa3
 declare_def_snprint(config_dir, print_str)
e65fa3
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
e65fa3
index dd9f4dc7..7f85f766 100644
e65fa3
--- a/multipath/multipath.conf.5
e65fa3
+++ b/multipath/multipath.conf.5
e65fa3
@@ -178,6 +178,7 @@ The default is: \fBno\fR
e65fa3
 .
e65fa3
 .TP
e65fa3
 .B multipath_dir
e65fa3
+This option is deprecated, and will be removed in a future release.
e65fa3
 Directory where the dynamic shared objects are stored. Defined at compile time,
e65fa3
 commonly \fI/lib64/multipath/\fR or \fI/lib/multipath/\fR.
e65fa3
 .RS
e65fa3
@@ -742,6 +743,7 @@ The default is: \fB<unset>\fR
e65fa3
 .
e65fa3
 .TP
e65fa3
 .B bindings_file
e65fa3
+This option is deprecated, and will be removed in a future release.
e65fa3
 The full pathname of the binding file to be used when the user_friendly_names
e65fa3
 option is set.
e65fa3
 .RS
e65fa3
@@ -752,6 +754,7 @@ The default is: \fB/etc/multipath/bindings\fR
e65fa3
 .
e65fa3
 .TP
e65fa3
 .B wwids_file
e65fa3
+This option is deprecated, and will be removed in a future release.
e65fa3
 The full pathname of the WWIDs file, which is used by multipath to keep track
e65fa3
 of the WWIDs for LUNs it has created multipath devices on in the past.
e65fa3
 .RS
e65fa3
@@ -762,6 +765,7 @@ The default is: \fB/etc/multipath/wwids\fR
e65fa3
 .
e65fa3
 .TP
e65fa3
 .B prkeys_file
e65fa3
+This option is deprecated, and will be removed in a future release.
e65fa3
 The full pathname of the prkeys file, which is used by multipathd to keep
e65fa3
 track of the persistent reservation key used for a specific WWID, when
e65fa3
 \fIreservation_key\fR is set to \fBfile\fR.
e65fa3
@@ -933,6 +937,7 @@ The default is: \fB<unset>\fR
e65fa3
 .
e65fa3
 .TP
e65fa3
 .B config_dir
e65fa3
+This option is deprecated, and will be removed in a future release.
e65fa3
 If set to anything other than "", multipath will search this directory
e65fa3
 alphabetically for file ending in ".conf" and it will read configuration
e65fa3
 information from them, just as if it was in \fI/etc/multipath.conf\fR.