Additional patches for 9.4.0 lvm2

Resolves: RHEL-14216 RHEL-20192 RHEL-8270
This commit is contained in:
Marian Csontos 2024-01-31 20:41:59 +01:00
parent 41956e6552
commit 48308d41ec
5 changed files with 162 additions and 3 deletions

View File

@ -0,0 +1,38 @@
From 40b5a4dfa9a19997b931f88ff69a9bb9bb68ac3d Mon Sep 17 00:00:00 2001
From: Marian Csontos <mcsontos@redhat.com>
Date: Wed, 29 Nov 2023 15:09:36 +0100
Subject: [PATCH 1/4] spec: Install and package /etc/lvm/devices
(cherry picked from commit ee31ba5023e6e1430c0d808f54015ccd3eb3931a)
---
Makefile.in | 1 +
spec/packages.inc | 1 +
2 files changed, 2 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 41f249fdc..d30f6e7fd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -127,6 +127,7 @@ all_man:
install_system_dirs:
$(INSTALL_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)
+ $(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)/devices
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_ARCHIVE_DIR)
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_BACKUP_DIR)
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_CACHE_DIR)
diff --git a/spec/packages.inc b/spec/packages.inc
index cc1655ece..05733e0df 100644
--- a/spec/packages.inc
+++ b/spec/packages.inc
@@ -182,6 +182,7 @@ fi
%dir %{_sysconfdir}/lvm/backup
%dir %{_sysconfdir}/lvm/cache
%dir %{_sysconfdir}/lvm/archive
+%dir %{_sysconfdir}/lvm/devices
%dir %{_default_locking_dir}
%dir %{_default_run_dir}
%if %{enable_systemd}
--
2.43.0

View File

@ -0,0 +1,26 @@
From 2808b67d52123ec709e5a6d6c6780c8d325e708a Mon Sep 17 00:00:00 2001
From: Lukas Herbolt <lukas@herbolt.com>
Date: Tue, 5 Dec 2023 09:08:24 -0600
Subject: [PATCH 2/4] man: add inte(g)rity to man lvs
(cherry picked from commit 7b64d9946d6a3be84338ad976383b6ab53e97484)
---
man/lvs.8_end | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/lvs.8_end b/man/lvs.8_end
index dc3a27446..e9897b4fc 100644
--- a/man/lvs.8_end
+++ b/man/lvs.8_end
@@ -4,7 +4,7 @@
The lv_attr bits are:
.IP 1 3
Volume type: (\fBC\fP)ache, (\fBm\fP)irrored, (\fBM\fP)irrored without initial sync, (\fBo\fP)rigin,
-(\fBO\fP)rigin with merging snapshot, (\fBr\fP)aid, (\fBR\fP)aid without initial sync,
+(\fBO\fP)rigin with merging snapshot, inte(\fBg\fP)rity, (\fBr\fP)aid, (\fBR\fP)aid without initial sync,
(\fBs\fP)napshot, merging (\fBS\fP)napshot, (\fBp\fP)vmove, (\fBv\fP)irtual,
mirror or raid (\fBi\fP)mage, mirror or raid (\fBI\fP)mage out-of-sync, mirror (\fBl\fP)og device,
under (\fBc\fP)onversion, thin (\fBV\fP)olume, (\fBt\fP)hin pool, (\fBT\fP)hin pool data,
--
2.43.0

View File

@ -0,0 +1,25 @@
From fdfd76a3ff1e2863fa11e79217bd2a4fa7ff527e Mon Sep 17 00:00:00 2001
From: Ranjith ML <rmadhuso@redhat.com>
Date: Wed, 24 Jan 2024 14:05:24 +0100
Subject: [PATCH 3/4] archiving: Fix doubled filename in vgcfgrestore
---
lib/format_text/archive.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/format_text/archive.c b/lib/format_text/archive.c
index 5acf0c04a..0e848cc8f 100644
--- a/lib/format_text/archive.c
+++ b/lib/format_text/archive.c
@@ -313,7 +313,7 @@ static void _display_archive(struct cmd_context *cmd, const char *dir, struct ar
}
log_print(" ");
- log_print("File:\t\t%s/%s", path, af->name);
+ log_print("File:\t\t%s", path);
tc.path_live = path;
fic.type = FMT_INSTANCE_PRIVATE_MDAS;
--
2.43.0

View File

@ -0,0 +1,58 @@
From 2e2e122eef2fe7781341a9574487c063cbd27a69 Mon Sep 17 00:00:00 2001
From: Heinz Mauelshagen <heinzm@redhat.com>
Date: Wed, 6 Dec 2023 12:58:14 +0100
Subject: [PATCH 4/4] raid: add messages to lvs command output in case RaidLVs
require a refresh
If a RaidLV mapping is required to be refreshed as a result of temporarily failed
and recurred RAID leg device (pairs) caused by writes to the LV during failure,
the requirement is reported by volume health character r' in position 9 of the
LV's attribute field (see 'man lvs' about additional volume health characters).
As this character can be overlooked, this patch adds messages to the top
of the lvs command output informing the user explicitely about the fact.
(cherry picked from commit b69f73b13ee55ef3feb7427c6dc099dc3472d9fc)
---
tools/reporter.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tools/reporter.c b/tools/reporter.c
index 61af33af5..a28780298 100644
--- a/tools/reporter.c
+++ b/tools/reporter.c
@@ -150,6 +150,13 @@ static int _check_merging_origin(const struct logical_volume *lv,
return 1;
}
+static void _cond_warn_raid_volume_health(struct cmd_context *cmd, const struct logical_volume *lv)
+{
+ if (lv_is_raid(lv) && !lv_raid_healthy(lv) && !lv_is_partial(lv))
+ log_warn("WARNING: RaidLV %s needs to be refreshed! See character 'r' at position 9 in the RaidLV's attributes%s.", display_lvname(lv),
+ arg_is_set(cmd, all_ARG) ? " and its SubLV(s)" : " and also its SubLV(s) with option '-a'");
+}
+
static int _do_lvs_with_info_and_status_single(struct cmd_context *cmd,
const struct logical_volume *lv,
int do_info, int do_status,
@@ -176,6 +183,8 @@ static int _do_lvs_with_info_and_status_single(struct cmd_context *cmd,
lv = lv->snapshot->lv;
}
+ _cond_warn_raid_volume_health(cmd, lv);
+
if (!report_object(sh ? : handle->custom_handle, sh != NULL,
lv->vg, lv, NULL, NULL, NULL, &status, NULL))
goto out;
@@ -238,6 +247,8 @@ static int _do_segs_with_info_and_status_single(struct cmd_context *cmd,
seg = seg->lv->snapshot;
}
+ _cond_warn_raid_volume_health(cmd, seg->lv);
+
if (!report_object(sh ? : handle->custom_handle, sh != NULL,
seg->lv->vg, seg->lv, NULL, seg, NULL, &status, NULL))
goto_out;
--
2.43.0

View File

@ -54,15 +54,22 @@ Version: 2.03.23
%if 0%{?from_snapshot} %if 0%{?from_snapshot}
Release: 0.1.20211115git%{shortcommit}%{?dist}%{?rel_suffix} Release: 0.1.20211115git%{shortcommit}%{?dist}%{?rel_suffix}
%else %else
Release: 1%{?dist}%{?rel_suffix} Release: 2%{?dist}%{?rel_suffix}
%endif %endif
License: GPLv2 License: GPLv2
URL: http://sourceware.org/lvm2 URL: https://sourceware.org/lvm2
%if 0%{?from_snapshot} %if 0%{?from_snapshot}
Source0: lvm2-%{shortcommit}.tgz Source0: lvm2-%{shortcommit}.tgz
%else %else
Source0: ftp://sourceware.org/pub/lvm2/releases/LVM2.%{version}.tgz Source0: https://sourceware.org/pub/lvm2/releases/LVM2.%{version}.tgz
%endif %endif
Patch1: 0001-spec-Install-and-package-etc-lvm-devices.patch
# RHEL-14216:
Patch2: 0002-man-add-inte-g-rity-to-man-lvs.patch
# RHEL-20192:
Patch3: 0003-archiving-Fix-doubled-filename-in-vgcfgrestore.patch
# RHEL-8270:
Patch4: 0004-raid-add-messages-to-lvs-command-output-in-case-Raid.patch
BuildRequires: make BuildRequires: make
BuildRequires: gcc BuildRequires: gcc
@ -381,6 +388,7 @@ systemctl start lvm2-lvmpolld.socket >/dev/null 2>&1 || :
%dir %{_sysconfdir}/lvm/backup %dir %{_sysconfdir}/lvm/backup
%dir %{_sysconfdir}/lvm/cache %dir %{_sysconfdir}/lvm/cache
%dir %{_sysconfdir}/lvm/archive %dir %{_sysconfdir}/lvm/archive
%dir %{_sysconfdir}/lvm/devices
%dir %{_default_locking_dir} %dir %{_default_locking_dir}
%dir %{_default_run_dir} %dir %{_default_run_dir}
%{_tmpfilesdir}/%{name}.conf %{_tmpfilesdir}/%{name}.conf
@ -690,6 +698,10 @@ An extensive functional testsuite for LVM2.
%endif %endif
%changelog %changelog
* Fri Feb 02 2024 Marian Csontos <mcsontos@redhat.com> - 2.03.23-2
- Add warning message when mirror images have (r)efresh bit set.
- Document lv_attr volume type bit (g) for raid+integrity in lvs(8).
* Wed Nov 22 2023 Marian Csontos <mcsontos@redhat.com> - 2.03.23-1 * Wed Nov 22 2023 Marian Csontos <mcsontos@redhat.com> - 2.03.23-1
- Update to upstream version 2.03.23. - Update to upstream version 2.03.23.
- See WHATS_NEW and WHATS_NEW_DM for more information. - See WHATS_NEW and WHATS_NEW_DM for more information.