device-mapper-multipath-0.9.4-2
Update to the head of the upstream staging branch * Patches 0011-0015 are from the upstream staging branch Rename redhat patches * Previous patches 0011-0022 are now patches 0016-0027
This commit is contained in:
parent
8e8d008d17
commit
bbfe9b1229
@ -0,0 +1,39 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Date: Tue, 31 Jan 2023 13:34:18 -0600
|
||||
Subject: [PATCH] libmultipath: use select_reload_action in select_action
|
||||
|
||||
Since we have a function to set the action to reload, use it.
|
||||
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
||||
---
|
||||
libmultipath/configure.c | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libmultipath/configure.c b/libmultipath/configure.c
|
||||
index e689f8a7..050b984a 100644
|
||||
--- a/libmultipath/configure.c
|
||||
+++ b/libmultipath/configure.c
|
||||
@@ -729,9 +729,7 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
|
||||
if (force_reload) {
|
||||
mpp->force_udev_reload = 1;
|
||||
- mpp->action = ACT_RELOAD;
|
||||
- condlog(3, "%s: set ACT_RELOAD (forced by user)",
|
||||
- mpp->alias);
|
||||
+ select_reload_action(mpp, "forced by user");
|
||||
return;
|
||||
}
|
||||
if (cmpp->size != mpp->size) {
|
||||
@@ -744,9 +742,7 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
|
||||
if (!is_udev_ready(cmpp) && count_active_paths(mpp) > 0) {
|
||||
mpp->force_udev_reload = 1;
|
||||
- mpp->action = ACT_RELOAD;
|
||||
- condlog(3, "%s: set ACT_RELOAD (udev incomplete)",
|
||||
- mpp->alias);
|
||||
+ select_reload_action(mpp, "udev incomplete");
|
||||
return;
|
||||
}
|
||||
|
@ -0,0 +1,46 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Date: Tue, 31 Jan 2023 13:34:19 -0600
|
||||
Subject: [PATCH] libmultipath: select resize action even if reload is forced
|
||||
|
||||
The ACT_RESIZE action is the same as the ACT_RELOAD action, except that
|
||||
it flushes outstanding IO because the device size is changing and
|
||||
the new size might be too small for some of the outstanding IO. If we've
|
||||
detected a size change, and a forced reload is requested, we still need
|
||||
to flush the IO because the reload will change the device size.
|
||||
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
||||
---
|
||||
libmultipath/configure.c | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libmultipath/configure.c b/libmultipath/configure.c
|
||||
index 050b984a..6811e661 100644
|
||||
--- a/libmultipath/configure.c
|
||||
+++ b/libmultipath/configure.c
|
||||
@@ -727,11 +727,6 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
return;
|
||||
}
|
||||
|
||||
- if (force_reload) {
|
||||
- mpp->force_udev_reload = 1;
|
||||
- select_reload_action(mpp, "forced by user");
|
||||
- return;
|
||||
- }
|
||||
if (cmpp->size != mpp->size) {
|
||||
mpp->force_udev_reload = 1;
|
||||
mpp->action = ACT_RESIZE;
|
||||
@@ -740,6 +735,12 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (force_reload) {
|
||||
+ mpp->force_udev_reload = 1;
|
||||
+ select_reload_action(mpp, "forced by user");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (!is_udev_ready(cmpp) && count_active_paths(mpp) > 0) {
|
||||
mpp->force_udev_reload = 1;
|
||||
select_reload_action(mpp, "udev incomplete");
|
@ -0,0 +1,68 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Date: Tue, 31 Jan 2023 13:34:20 -0600
|
||||
Subject: [PATCH] libmultipath: cleanup ACT_CREATE code in select_action
|
||||
|
||||
Combine the two separate blocks that set ACT_CREATE into one.
|
||||
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
||||
---
|
||||
libmultipath/configure.c | 38 +++++++++++++++++---------------------
|
||||
1 file changed, 17 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/libmultipath/configure.c b/libmultipath/configure.c
|
||||
index 6811e661..e870e0f6 100644
|
||||
--- a/libmultipath/configure.c
|
||||
+++ b/libmultipath/configure.c
|
||||
@@ -686,33 +686,29 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
if (mpp->need_reload || (cmpp && cmpp->need_reload))
|
||||
force_reload = 1;
|
||||
|
||||
- if (!cmpp_by_name) {
|
||||
- if (cmpp) {
|
||||
- condlog(2, "%s: rename %s to %s", mpp->wwid,
|
||||
- cmpp->alias, mpp->alias);
|
||||
- strlcpy(mpp->alias_old, cmpp->alias, WWID_SIZE);
|
||||
- mpp->action = ACT_RENAME;
|
||||
- if (force_reload) {
|
||||
- mpp->force_udev_reload = 1;
|
||||
- mpp->action = ACT_FORCERENAME;
|
||||
- }
|
||||
- return;
|
||||
+ if (!cmpp) {
|
||||
+ if (cmpp_by_name) {
|
||||
+ condlog(1, "%s: can't use alias \"%s\" used by %s, falling back to WWID",
|
||||
+ mpp->wwid, mpp->alias, cmpp_by_name->wwid);
|
||||
+ /* We can do this because wwid wasn't found */
|
||||
+ free(mpp->alias);
|
||||
+ mpp->alias = strdup(mpp->wwid);
|
||||
}
|
||||
mpp->action = ACT_CREATE;
|
||||
- condlog(3, "%s: set ACT_CREATE (map does not exist)",
|
||||
- mpp->alias);
|
||||
+ condlog(3, "%s: set ACT_CREATE (map does not exist%s)",
|
||||
+ mpp->alias, cmpp_by_name ? ", name changed" : "");
|
||||
return;
|
||||
}
|
||||
|
||||
- if (!cmpp) {
|
||||
- condlog(1, "%s: can't use alias \"%s\" used by %s, falling back to WWID",
|
||||
- mpp->wwid, mpp->alias, cmpp_by_name->wwid);
|
||||
- /* We can do this because wwid wasn't found */
|
||||
- free(mpp->alias);
|
||||
- mpp->alias = strdup(mpp->wwid);
|
||||
- mpp->action = ACT_CREATE;
|
||||
- condlog(3, "%s: set ACT_CREATE (map does not exist, name changed)",
|
||||
+ if (!cmpp_by_name) {
|
||||
+ condlog(2, "%s: rename %s to %s", mpp->wwid, cmpp->alias,
|
||||
mpp->alias);
|
||||
+ strlcpy(mpp->alias_old, cmpp->alias, WWID_SIZE);
|
||||
+ mpp->action = ACT_RENAME;
|
||||
+ if (force_reload) {
|
||||
+ mpp->force_udev_reload = 1;
|
||||
+ mpp->action = ACT_FORCERENAME;
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
186
0014-libmultipath-keep-renames-from-stopping-other-multip.patch
Normal file
186
0014-libmultipath-keep-renames-from-stopping-other-multip.patch
Normal file
@ -0,0 +1,186 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Date: Tue, 31 Jan 2023 13:34:21 -0600
|
||||
Subject: [PATCH] libmultipath: keep renames from stopping other multipath
|
||||
actions
|
||||
|
||||
If select_action() is called and a multipath device needs to be renamed,
|
||||
the code currently checks if force_reload is set, and if so, does the
|
||||
reload after the rename. But if force_reload isn't set, only the rename
|
||||
happens, regardless of what other actions are needed. This can happen if
|
||||
multipathd starts up and a device needs both a reload and a rename.
|
||||
|
||||
Make multipath check for resize, reload, and switch pathgroup along with
|
||||
rename, and do both if necessary.
|
||||
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
||||
---
|
||||
libmultipath/configure.c | 62 +++++++++++++++++-----------------------
|
||||
libmultipath/configure.h | 4 ++-
|
||||
2 files changed, 30 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/libmultipath/configure.c b/libmultipath/configure.c
|
||||
index e870e0f6..4a1c28bb 100644
|
||||
--- a/libmultipath/configure.c
|
||||
+++ b/libmultipath/configure.c
|
||||
@@ -670,7 +670,8 @@ static bool is_udev_ready(struct multipath *cmpp)
|
||||
static void
|
||||
select_reload_action(struct multipath *mpp, const char *reason)
|
||||
{
|
||||
- mpp->action = ACT_RELOAD;
|
||||
+ mpp->action = mpp->action == ACT_RENAME ? ACT_RELOAD_RENAME :
|
||||
+ ACT_RELOAD;
|
||||
condlog(3, "%s: set ACT_RELOAD (%s)", mpp->alias, reason);
|
||||
}
|
||||
|
||||
@@ -681,6 +682,7 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
struct multipath * cmpp_by_name;
|
||||
char * mpp_feat, * cmpp_feat;
|
||||
|
||||
+ mpp->action = ACT_NOTHING;
|
||||
cmpp = find_mp_by_wwid(curmp, mpp->wwid);
|
||||
cmpp_by_name = find_mp_by_alias(curmp, mpp->alias);
|
||||
if (mpp->need_reload || (cmpp && cmpp->need_reload))
|
||||
@@ -705,14 +707,8 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
mpp->alias);
|
||||
strlcpy(mpp->alias_old, cmpp->alias, WWID_SIZE);
|
||||
mpp->action = ACT_RENAME;
|
||||
- if (force_reload) {
|
||||
- mpp->force_udev_reload = 1;
|
||||
- mpp->action = ACT_FORCERENAME;
|
||||
- }
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (cmpp != cmpp_by_name) {
|
||||
+ /* don't return here. Check for other needed actions */
|
||||
+ } else if (cmpp != cmpp_by_name) {
|
||||
condlog(2, "%s: unable to rename %s to %s (%s is used by %s)",
|
||||
mpp->wwid, cmpp->alias, mpp->alias,
|
||||
mpp->alias, cmpp_by_name->wwid);
|
||||
@@ -720,12 +716,13 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
free(mpp->alias);
|
||||
mpp->alias = strdup(cmpp->alias);
|
||||
mpp->action = ACT_IMPOSSIBLE;
|
||||
- return;
|
||||
+ /* don't return here. Check for other needed actions */
|
||||
}
|
||||
|
||||
if (cmpp->size != mpp->size) {
|
||||
mpp->force_udev_reload = 1;
|
||||
- mpp->action = ACT_RESIZE;
|
||||
+ mpp->action = mpp->action == ACT_RENAME ? ACT_RESIZE_RENAME :
|
||||
+ ACT_RESIZE;
|
||||
condlog(3, "%s: set ACT_RESIZE (size change)",
|
||||
mpp->alias);
|
||||
return;
|
||||
@@ -801,14 +798,14 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
|
||||
return;
|
||||
}
|
||||
if (cmpp->nextpg != mpp->bestpg) {
|
||||
- mpp->action = ACT_SWITCHPG;
|
||||
+ mpp->action = mpp->action == ACT_RENAME ? ACT_SWITCHPG_RENAME :
|
||||
+ ACT_SWITCHPG;
|
||||
condlog(3, "%s: set ACT_SWITCHPG (next path group change)",
|
||||
mpp->alias);
|
||||
return;
|
||||
}
|
||||
- mpp->action = ACT_NOTHING;
|
||||
- condlog(3, "%s: set ACT_NOTHING (map unchanged)",
|
||||
- mpp->alias);
|
||||
+ if (mpp->action == ACT_NOTHING)
|
||||
+ condlog(3, "%s: set ACT_NOTHING (map unchanged)", mpp->alias);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -909,6 +906,17 @@ int domap(struct multipath *mpp, char *params, int is_daemon)
|
||||
}
|
||||
}
|
||||
|
||||
+ if (mpp->action == ACT_RENAME || mpp->action == ACT_SWITCHPG_RENAME ||
|
||||
+ mpp->action == ACT_RELOAD_RENAME ||
|
||||
+ mpp->action == ACT_RESIZE_RENAME) {
|
||||
+ conf = get_multipath_config();
|
||||
+ pthread_cleanup_push(put_multipath_config, conf);
|
||||
+ r = dm_rename(mpp->alias_old, mpp->alias,
|
||||
+ conf->partition_delim, mpp->skip_kpartx);
|
||||
+ pthread_cleanup_pop(1);
|
||||
+ if (r == DOMAP_FAIL)
|
||||
+ return r;
|
||||
+ }
|
||||
switch (mpp->action) {
|
||||
case ACT_REJECT:
|
||||
case ACT_NOTHING:
|
||||
@@ -916,6 +924,7 @@ int domap(struct multipath *mpp, char *params, int is_daemon)
|
||||
return DOMAP_EXIST;
|
||||
|
||||
case ACT_SWITCHPG:
|
||||
+ case ACT_SWITCHPG_RENAME:
|
||||
dm_switchgroup(mpp->alias, mpp->bestpg);
|
||||
/*
|
||||
* we may have avoided reinstating paths because there where in
|
||||
@@ -942,6 +951,7 @@ int domap(struct multipath *mpp, char *params, int is_daemon)
|
||||
break;
|
||||
|
||||
case ACT_RELOAD:
|
||||
+ case ACT_RELOAD_RENAME:
|
||||
sysfs_set_max_sectors_kb(mpp, 1);
|
||||
if (mpp->ghost_delay_tick > 0 && pathcount(mpp, PATH_UP))
|
||||
mpp->ghost_delay_tick = 0;
|
||||
@@ -949,6 +959,7 @@ int domap(struct multipath *mpp, char *params, int is_daemon)
|
||||
break;
|
||||
|
||||
case ACT_RESIZE:
|
||||
+ case ACT_RESIZE_RENAME:
|
||||
sysfs_set_max_sectors_kb(mpp, 1);
|
||||
if (mpp->ghost_delay_tick > 0 && pathcount(mpp, PATH_UP))
|
||||
mpp->ghost_delay_tick = 0;
|
||||
@@ -956,29 +967,10 @@ int domap(struct multipath *mpp, char *params, int is_daemon)
|
||||
break;
|
||||
|
||||
case ACT_RENAME:
|
||||
- conf = get_multipath_config();
|
||||
- pthread_cleanup_push(put_multipath_config, conf);
|
||||
- r = dm_rename(mpp->alias_old, mpp->alias,
|
||||
- conf->partition_delim, mpp->skip_kpartx);
|
||||
- pthread_cleanup_pop(1);
|
||||
- break;
|
||||
-
|
||||
- case ACT_FORCERENAME:
|
||||
- conf = get_multipath_config();
|
||||
- pthread_cleanup_push(put_multipath_config, conf);
|
||||
- r = dm_rename(mpp->alias_old, mpp->alias,
|
||||
- conf->partition_delim, mpp->skip_kpartx);
|
||||
- pthread_cleanup_pop(1);
|
||||
- if (r) {
|
||||
- sysfs_set_max_sectors_kb(mpp, 1);
|
||||
- if (mpp->ghost_delay_tick > 0 &&
|
||||
- pathcount(mpp, PATH_UP))
|
||||
- mpp->ghost_delay_tick = 0;
|
||||
- r = dm_addmap_reload(mpp, params, 0);
|
||||
- }
|
||||
break;
|
||||
|
||||
default:
|
||||
+ r = DOMAP_FAIL;
|
||||
break;
|
||||
}
|
||||
|
||||
diff --git a/libmultipath/configure.h b/libmultipath/configure.h
|
||||
index 2bf73e65..9d935db3 100644
|
||||
--- a/libmultipath/configure.h
|
||||
+++ b/libmultipath/configure.h
|
||||
@@ -18,9 +18,11 @@ enum actions {
|
||||
ACT_RENAME,
|
||||
ACT_CREATE,
|
||||
ACT_RESIZE,
|
||||
- ACT_FORCERENAME,
|
||||
+ ACT_RELOAD_RENAME,
|
||||
ACT_DRY_RUN,
|
||||
ACT_IMPOSSIBLE,
|
||||
+ ACT_RESIZE_RENAME,
|
||||
+ ACT_SWITCHPG_RENAME,
|
||||
};
|
||||
|
||||
/*
|
@ -0,0 +1,68 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Wilck <mwilck@suse.com>
|
||||
Date: Thu, 2 Feb 2023 09:20:35 +0100
|
||||
Subject: [PATCH] libmpathpersist: fix resource leak in update_map_pr()
|
||||
|
||||
The "no available paths" case would leak the memory resp points to.
|
||||
Found by coverity.
|
||||
|
||||
Fixes: 50e2c16 ("multipathd: handle no active paths in update_map_pr")
|
||||
|
||||
Signed-off-by: Martin Wilck <mwilck@suse.com>
|
||||
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
---
|
||||
libmpathpersist/mpath_persist_int.c | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libmpathpersist/mpath_persist_int.c b/libmpathpersist/mpath_persist_int.c
|
||||
index 8b52b746..178c2f54 100644
|
||||
--- a/libmpathpersist/mpath_persist_int.c
|
||||
+++ b/libmpathpersist/mpath_persist_int.c
|
||||
@@ -733,7 +733,7 @@ int update_map_pr(struct multipath *mpp)
|
||||
int noisy=0;
|
||||
struct prin_resp *resp;
|
||||
unsigned int i;
|
||||
- int ret, isFound;
|
||||
+ int ret = MPATH_PR_OTHER, isFound;
|
||||
|
||||
if (!get_be64(mpp->reservation_key))
|
||||
{
|
||||
@@ -754,7 +754,7 @@ int update_map_pr(struct multipath *mpp)
|
||||
{
|
||||
condlog(0,"%s: No available paths to check pr status",
|
||||
mpp->alias);
|
||||
- return MPATH_PR_OTHER;
|
||||
+ goto out;
|
||||
}
|
||||
mpp->prflag = PRFLAG_UNSET;
|
||||
ret = mpath_prin_activepath(mpp, MPATH_PRIN_RKEY_SA, resp, noisy);
|
||||
@@ -762,15 +762,15 @@ int update_map_pr(struct multipath *mpp)
|
||||
if (ret != MPATH_PR_SUCCESS )
|
||||
{
|
||||
condlog(0,"%s : pr in read keys service action failed Error=%d", mpp->alias, ret);
|
||||
- free(resp);
|
||||
- return ret;
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
+ ret = MPATH_PR_SUCCESS;
|
||||
+
|
||||
if (resp->prin_descriptor.prin_readkeys.additional_length == 0 )
|
||||
{
|
||||
condlog(3,"%s: No key found. Device may not be registered. ", mpp->alias);
|
||||
- free(resp);
|
||||
- return MPATH_PR_SUCCESS;
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
condlog(2, "%s: Multipath reservation_key: 0x%" PRIx64 " ", mpp->alias,
|
||||
@@ -795,6 +795,7 @@ int update_map_pr(struct multipath *mpp)
|
||||
condlog(2, "%s: prflag flag set.", mpp->alias );
|
||||
}
|
||||
|
||||
+out:
|
||||
free(resp);
|
||||
- return MPATH_PR_SUCCESS;
|
||||
+ return ret;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
Name: device-mapper-multipath
|
||||
Version: 0.9.4
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: Tools to manage multipath devices using device-mapper
|
||||
License: GPLv2
|
||||
URL: http://christophe.varoqui.free.fr/
|
||||
@ -20,18 +20,23 @@ Patch0007: 0007-libmultipath-is_path_valid-check-if-device-is-in-use.patch
|
||||
Patch0008: 0008-libmpathpersist-use-conf-timeout-for-updating-persis.patch
|
||||
Patch0009: 0009-libmultipath-pathinfo-don-t-fail-for-devices-lacking.patch
|
||||
Patch0010: 0010-libmultipath-bump-ABI-version-to-18.0.0.patch
|
||||
Patch0011: 0011-RH-fixup-udev-rules-for-redhat.patch
|
||||
Patch0012: 0012-RH-Remove-the-property-blacklist-exception-builtin.patch
|
||||
Patch0013: 0013-RH-don-t-start-without-a-config-file.patch
|
||||
Patch0014: 0014-RH-Fix-nvme-function-missing-argument.patch
|
||||
Patch0015: 0015-RH-use-rpm-optflags-if-present.patch
|
||||
Patch0016: 0016-RH-add-mpathconf.patch
|
||||
Patch0017: 0017-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
|
||||
Patch0018: 0018-RH-reset-default-find_mutipaths-value-to-off.patch
|
||||
Patch0019: 0019-RH-attempt-to-get-ANA-info-via-sysfs-first.patch
|
||||
Patch0020: 0020-RH-make-parse_vpd_pg83-match-scsi_id-output.patch
|
||||
Patch0021: 0021-RH-add-scsi-device-handlers-to-modules-load.d.patch
|
||||
Patch0022: 0022-RH-compile-with-libreadline-support.patch
|
||||
Patch0011: 0011-libmultipath-use-select_reload_action-in-select_acti.patch
|
||||
Patch0012: 0012-libmultipath-select-resize-action-even-if-reload-is-.patch
|
||||
Patch0013: 0013-libmultipath-cleanup-ACT_CREATE-code-in-select_actio.patch
|
||||
Patch0014: 0014-libmultipath-keep-renames-from-stopping-other-multip.patch
|
||||
Patch0015: 0015-libmpathpersist-fix-resource-leak-in-update_map_pr.patch
|
||||
Patch0016: 0016-RH-fixup-udev-rules-for-redhat.patch
|
||||
Patch0017: 0017-RH-Remove-the-property-blacklist-exception-builtin.patch
|
||||
Patch0018: 0018-RH-don-t-start-without-a-config-file.patch
|
||||
Patch0019: 0019-RH-Fix-nvme-function-missing-argument.patch
|
||||
Patch0020: 0020-RH-use-rpm-optflags-if-present.patch
|
||||
Patch0021: 0021-RH-add-mpathconf.patch
|
||||
Patch0022: 0022-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
|
||||
Patch0023: 0023-RH-reset-default-find_mutipaths-value-to-off.patch
|
||||
Patch0024: 0024-RH-attempt-to-get-ANA-info-via-sysfs-first.patch
|
||||
Patch0025: 0025-RH-make-parse_vpd_pg83-match-scsi_id-output.patch
|
||||
Patch0026: 0026-RH-add-scsi-device-handlers-to-modules-load.d.patch
|
||||
Patch0027: 0027-RH-compile-with-libreadline-support.patch
|
||||
|
||||
# runtime
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
@ -240,12 +245,18 @@ fi
|
||||
%{_pkgconfdir}/libdmmp.pc
|
||||
|
||||
%changelog
|
||||
* Thu Feb 2 2023 Benjamin Marzinski <bmarzins@redhat.com> - 0.9.4-2
|
||||
- Update to the head of the upstream staging branch
|
||||
* Patches 0011-0015 are from the upstream staging branch
|
||||
- Rename redhat patches
|
||||
* Previous patches 0011-0022 are now patches 0016-0027
|
||||
|
||||
* Thu Jan 26 2023 Benjamin Marzinski <bmarzins@redhat.com> - 0.9.4-1
|
||||
- Update to the head of the upstream staging branch
|
||||
* Previous patches 0001-0032 are intlcude in the source tarball
|
||||
* Previous patches 0001-0032 are included in the source tarball
|
||||
* Patches 0001-0010 are from the upstream staging branch
|
||||
- Rename redhat patches
|
||||
* Previous patches 0033-0044 are not patches 0011-0022
|
||||
* Previous patches 0033-0044 are now patches 0011-0022
|
||||
- Add dependency on libmount
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-2
|
||||
|
Loading…
Reference in New Issue
Block a user