Additional patches for 9.6.0 lvm2
Resolves: RHEL-53866 RHEL-65845 RHEL-60943
This commit is contained in:
parent
3201fed437
commit
4857646a28
52
0020-thin-deactivate-converted-volume-early.patch
Normal file
52
0020-thin-deactivate-converted-volume-early.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From 4627ca20dc6314aa382aa21e22aacd32a81a50a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zdenek Kabelac <zkabelac@redhat.com>
|
||||||
|
Date: Thu, 19 Dec 2024 14:47:16 +0100
|
||||||
|
Subject: [PATCH 20/27] thin: deactivate converted volume early
|
||||||
|
|
||||||
|
Deactivate converted volume to pool early, so the conversion
|
||||||
|
exits early and does not leave some already created metadata
|
||||||
|
volumes that needed manual cleanup by user after command
|
||||||
|
aborted its conversion operation when the converted volume
|
||||||
|
was actually in-use (i.e. when user tried to convert
|
||||||
|
a mounted LV into a thin-pool, 2 extra volumes needed removal).
|
||||||
|
|
||||||
|
(cherry picked from commit 6326d0093730fe945eeb4748738ddda55bf8a3c9)
|
||||||
|
---
|
||||||
|
tools/lvconvert.c | 14 +++++++-------
|
||||||
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
|
||||||
|
index 8dd8eea1b..d15e01fd7 100644
|
||||||
|
--- a/tools/lvconvert.c
|
||||||
|
+++ b/tools/lvconvert.c
|
||||||
|
@@ -3154,6 +3154,13 @@ static int _lvconvert_to_pool(struct cmd_context *cmd,
|
||||||
|
|
||||||
|
activate_pool = to_thinpool && is_active;
|
||||||
|
|
||||||
|
+ /* Before the conversion starts, make sure the volume is unused and can be deactivated
|
||||||
|
+ * (as it needs to change target type) */
|
||||||
|
+ if (is_active && !to_thin && !deactivate_lv(cmd, lv)) {
|
||||||
|
+ log_error("Cannot convert logical volume %s.", display_lvname(lv));
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* Wipe metadata_lv by default, but allow skipping this for cache pools. */
|
||||||
|
zero_metadata = (to_cachepool) ? arg_int_value(cmd, zero_ARG, 1) : 1;
|
||||||
|
|
||||||
|
@@ -3405,13 +3412,6 @@ static int _lvconvert_to_pool(struct cmd_context *cmd,
|
||||||
|
if (!(pool_lv = _lvconvert_insert_thin_layer(lv)))
|
||||||
|
goto_bad;
|
||||||
|
} else {
|
||||||
|
- /* Deactivate the data LV (changing target type) */
|
||||||
|
- if (!deactivate_lv(cmd, lv)) {
|
||||||
|
- log_error("Aborting. Failed to deactivate logical volume %s.",
|
||||||
|
- display_lvname(lv));
|
||||||
|
- goto bad;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if (data_vdo) {
|
||||||
|
if (lv_is_vdo(lv)) {
|
||||||
|
if ((seg = first_seg(lv)))
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
51
0021-tests-check-conversion-of-in-use-volume.patch
Normal file
51
0021-tests-check-conversion-of-in-use-volume.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From 41aaea4349ff2ef9b80de285e72ba7b94adfcf1a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zdenek Kabelac <zkabelac@redhat.com>
|
||||||
|
Date: Thu, 19 Dec 2024 14:50:32 +0100
|
||||||
|
Subject: [PATCH 21/27] tests: check conversion of in-use volume
|
||||||
|
|
||||||
|
Thin-pool conversion fails early when trying to convert
|
||||||
|
volume which is in use (simulated by sleep <)
|
||||||
|
|
||||||
|
(cherry picked from commit 3e641578d80bc7a28bcb451115b06da87d232b3a)
|
||||||
|
---
|
||||||
|
test/shell/lvconvert-thin-vdo.sh | 20 +++++++++++++++++++-
|
||||||
|
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/test/shell/lvconvert-thin-vdo.sh b/test/shell/lvconvert-thin-vdo.sh
|
||||||
|
index d61126276..5b4fe9d97 100644
|
||||||
|
--- a/test/shell/lvconvert-thin-vdo.sh
|
||||||
|
+++ b/test/shell/lvconvert-thin-vdo.sh
|
||||||
|
@@ -34,11 +34,29 @@ which mkfs.ext4 || skip
|
||||||
|
|
||||||
|
aux prepare_vg 4 6400
|
||||||
|
|
||||||
|
-# convert to thin-pool with VDO backend from existing VG/LV
|
||||||
|
+# Convert to thin-pool with VDO backend from existing VG/LV
|
||||||
|
lvcreate -L5G --name $lv1 $vg
|
||||||
|
+
|
||||||
|
+# Keep volume in use for 6 seconds
|
||||||
|
+# - lvm retries for ~5sec to deactivate
|
||||||
|
+sleep 6 < "$DM_DEV_DIR/$vg/$lv1" &
|
||||||
|
+
|
||||||
|
+# Volume in use cannot be converted
|
||||||
|
+fail lvconvert -y --type thin-pool $vg/$lv1 --pooldatavdo y
|
||||||
|
+
|
||||||
|
+# Wait for sleep to not use LV anymore
|
||||||
|
+wait
|
||||||
|
+
|
||||||
|
+# No extra volume should appear in VG after failure
|
||||||
|
+test "$(get vg_field $vg lv_count)" -eq "1"
|
||||||
|
+
|
||||||
|
mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
|
||||||
|
# Conversion caught present filesystem and should fail
|
||||||
|
fail lvconvert -Wy --type thin-pool -c 256K --deduplication n --pooldatavdo y $vg/$lv1
|
||||||
|
+
|
||||||
|
+# No extra volume should appear in VG after failure
|
||||||
|
+test "$(get vg_field $vg lv_count)" -eq "1"
|
||||||
|
+
|
||||||
|
# With --yes it should work over prompt
|
||||||
|
lvconvert --yes -Wy --type thin-pool -c 256K --deduplication n --pooldatavdo y $vg/$lv1
|
||||||
|
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
25
0022-WHATS_NEW-update.patch
Normal file
25
0022-WHATS_NEW-update.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 93aed329721d82d3110014f3f3b1b2803a60f50c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zdenek Kabelac <zkabelac@redhat.com>
|
||||||
|
Date: Thu, 19 Dec 2024 14:57:43 +0100
|
||||||
|
Subject: [PATCH 22/27] WHATS_NEW: update
|
||||||
|
|
||||||
|
(cherry picked from commit 5ef958704c82c45a6bd8215d920e4366c0c5e1bd)
|
||||||
|
---
|
||||||
|
WHATS_NEW | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/WHATS_NEW b/WHATS_NEW
|
||||||
|
index bea47f154..e63dfc393 100644
|
||||||
|
--- a/WHATS_NEW
|
||||||
|
+++ b/WHATS_NEW
|
||||||
|
@@ -1,3 +1,7 @@
|
||||||
|
+Version 2.03.30 -
|
||||||
|
+==================
|
||||||
|
+ lvconvert detects early volume in use when converting it to a pool.
|
||||||
|
+
|
||||||
|
Version 2.03.29 -
|
||||||
|
==================
|
||||||
|
Fix renaming of raid sub LVs when converting a volume to raid (2.03.28).
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
176
0023-lv_manip-check-fs-resize-is-supported-before-LV-exte.patch
Normal file
176
0023-lv_manip-check-fs-resize-is-supported-before-LV-exte.patch
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
From 9d9c8b8676b4fe21a0ff69e4c5d9e4a4a861f76e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Rajnoha <prajnoha@redhat.com>
|
||||||
|
Date: Fri, 3 Jan 2025 10:52:47 +0100
|
||||||
|
Subject: [PATCH 23/27] lv_manip: check fs resize is supported before LV
|
||||||
|
extension
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This avoids a situation where we would extend an LV and then we would
|
||||||
|
not do anything to the FS on it because the FS info check failed for some
|
||||||
|
reason, like the type was not supported (e.g. swap) or we could not resize
|
||||||
|
the FS unless being in some supported state (e.g. XFS to be mounted for
|
||||||
|
the xfs_growfs to work).
|
||||||
|
|
||||||
|
Before this patch (LV resized, FS not resized):
|
||||||
|
|
||||||
|
❯ lvextend --fs resize -L+4M vg/swap
|
||||||
|
Size of logical volume vg/swap changed from 32.00 MiB (8 extents) to 36.00 MiB (9 extents).
|
||||||
|
File system extend is not supported (swap).
|
||||||
|
File system extend error.
|
||||||
|
Logical volume vg/swap successfully resized.
|
||||||
|
|
||||||
|
With this patch (LV not resized, FS not resized):
|
||||||
|
|
||||||
|
❯ lvextend --fs resize -L+4M vg/swap
|
||||||
|
File system extend is not supported (swap).
|
||||||
|
|
||||||
|
(cherry picked from commit 5f53ecda3600834e920eef14065d35cd0fb6c59b)
|
||||||
|
---
|
||||||
|
lib/metadata/lv_manip.c | 71 +++++++++++++++++++++--------------------
|
||||||
|
1 file changed, 36 insertions(+), 35 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
|
||||||
|
index 15a7f3c9a..dab160234 100644
|
||||||
|
--- a/lib/metadata/lv_manip.c
|
||||||
|
+++ b/lib/metadata/lv_manip.c
|
||||||
|
@@ -6550,23 +6550,18 @@ static int _fs_reduce(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int _fs_extend(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
- struct lvresize_params *lp)
|
||||||
|
+static int _fs_extend_check_fsinfo(struct cmd_context *cmd, struct logical_volume *lv, struct lvresize_params *lp,
|
||||||
|
+ struct fs_info *fsinfo, uint64_t *newsize_bytes_fs)
|
||||||
|
{
|
||||||
|
- struct fs_info fsinfo;
|
||||||
|
uint64_t newsize_bytes_lv;
|
||||||
|
- uint64_t newsize_bytes_fs;
|
||||||
|
- int ret = 0;
|
||||||
|
|
||||||
|
- memset(&fsinfo, 0, sizeof(fsinfo));
|
||||||
|
+ memset(fsinfo, 0, sizeof(*fsinfo));
|
||||||
|
|
||||||
|
- if (!fs_get_info(cmd, lv, &fsinfo, 1))
|
||||||
|
- goto_out;
|
||||||
|
+ if (!fs_get_info(cmd, lv, fsinfo, 1))
|
||||||
|
+ return 0;
|
||||||
|
|
||||||
|
- if (fsinfo.nofs) {
|
||||||
|
- ret = 1;
|
||||||
|
- goto_out;
|
||||||
|
- }
|
||||||
|
+ if (fsinfo->nofs)
|
||||||
|
+ return 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note: here in the case of extend, newsize_bytes_lv/newsize_bytes_fs
|
||||||
|
@@ -6577,40 +6572,43 @@ static int _fs_extend(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
|
||||||
|
/* extent_size units is SECTOR_SIZE (512) */
|
||||||
|
newsize_bytes_lv = (uint64_t) lp->extents * lv->vg->extent_size * SECTOR_SIZE;
|
||||||
|
- newsize_bytes_fs = newsize_bytes_lv;
|
||||||
|
- if (fsinfo.needs_crypt) {
|
||||||
|
- newsize_bytes_fs -= fsinfo.crypt_offset_bytes;
|
||||||
|
+ *newsize_bytes_fs = newsize_bytes_lv;
|
||||||
|
+ if (fsinfo->needs_crypt) {
|
||||||
|
+ *newsize_bytes_fs -= fsinfo->crypt_offset_bytes;
|
||||||
|
log_print_unless_silent("File system size %llub is adjusted for crypt data offset %ub.",
|
||||||
|
- (unsigned long long)newsize_bytes_fs, fsinfo.crypt_offset_bytes);
|
||||||
|
+ (unsigned long long)*newsize_bytes_fs, fsinfo->crypt_offset_bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Decide if fs should be extended based on the --fs option,
|
||||||
|
* the fs type and the mount state.
|
||||||
|
*/
|
||||||
|
- if (!_fs_extend_allow(cmd, lv, lp, &fsinfo))
|
||||||
|
- goto_out;
|
||||||
|
+ if (!_fs_extend_allow(cmd, lv, lp, fsinfo))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ return 1;
|
||||||
|
+}
|
||||||
|
|
||||||
|
+static int _fs_extend(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
+ struct lvresize_params *lp, struct fs_info *fsinfo, uint64_t newsize_bytes_fs)
|
||||||
|
+{
|
||||||
|
/*
|
||||||
|
* fs extend is not needed
|
||||||
|
*/
|
||||||
|
- if (!fsinfo.needs_extend) {
|
||||||
|
- ret = 1;
|
||||||
|
- goto_out;
|
||||||
|
- }
|
||||||
|
+ if (!fsinfo->needs_extend)
|
||||||
|
+ return 1;
|
||||||
|
|
||||||
|
if (test_mode()) {
|
||||||
|
- if (fsinfo.needs_unmount)
|
||||||
|
+ if (fsinfo->needs_unmount)
|
||||||
|
log_print_unless_silent("Skip unmount in test mode.");
|
||||||
|
- if (fsinfo.needs_fsck)
|
||||||
|
+ if (fsinfo->needs_fsck)
|
||||||
|
log_print_unless_silent("Skip fsck in test mode.");
|
||||||
|
- if (fsinfo.needs_mount)
|
||||||
|
+ if (fsinfo->needs_mount)
|
||||||
|
log_print_unless_silent("Skip mount in test mode.");
|
||||||
|
- if (fsinfo.needs_crypt)
|
||||||
|
+ if (fsinfo->needs_crypt)
|
||||||
|
log_print_unless_silent("Skip cryptsetup in test mode.");
|
||||||
|
log_print_unless_silent("Skip fs extend in test mode.");
|
||||||
|
- ret = 1;
|
||||||
|
- goto out;
|
||||||
|
+ return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -6621,12 +6619,7 @@ static int _fs_extend(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
*/
|
||||||
|
unlock_vg(cmd, lv->vg, lv->vg->name);
|
||||||
|
|
||||||
|
- if (!fs_extend_script(cmd, lv, &fsinfo, newsize_bytes_fs, lp->fsmode))
|
||||||
|
- goto_out;
|
||||||
|
-
|
||||||
|
- ret = 1;
|
||||||
|
- out:
|
||||||
|
- return ret;
|
||||||
|
+ return fs_extend_script(cmd, lv, fsinfo, newsize_bytes_fs, lp->fsmode);
|
||||||
|
}
|
||||||
|
|
||||||
|
int lv_resize(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
@@ -6640,6 +6633,8 @@ int lv_resize(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
struct logical_volume *lv_meta = NULL;
|
||||||
|
struct logical_volume *lv_main_layer = NULL;
|
||||||
|
struct logical_volume *lv_meta_layer = NULL;
|
||||||
|
+ struct fs_info fsinfo;
|
||||||
|
+ uint64_t newsize_bytes_fs;
|
||||||
|
int main_size_matches = 0;
|
||||||
|
int meta_size_matches = 0;
|
||||||
|
int is_extend = (lp->resize == LV_EXTEND);
|
||||||
|
@@ -7100,6 +7095,12 @@ int lv_resize(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
|
||||||
|
if (!lv_main)
|
||||||
|
goto end_main;
|
||||||
|
+
|
||||||
|
+ if (is_extend && lp->fsopt[0] && strcmp(lp->fsopt, "resize_fsadm")) {
|
||||||
|
+ if (!_fs_extend_check_fsinfo(cmd, lv_top, lp, &fsinfo, &newsize_bytes_fs))
|
||||||
|
+ goto_out;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!_lv_resize_volume(lv_main, lp, lp->pvh))
|
||||||
|
goto_out;
|
||||||
|
if (!lp->size_changed) {
|
||||||
|
@@ -7145,7 +7146,7 @@ int lv_resize(struct cmd_context *cmd, struct logical_volume *lv,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/* New approach to fs handling using fs info. */
|
||||||
|
- if (!_fs_extend(cmd, lv_top, lp)) {
|
||||||
|
+ if (!_fs_extend(cmd, lv_top, lp, &fsinfo, newsize_bytes_fs)) {
|
||||||
|
log_error("File system extend error.");
|
||||||
|
lp->extend_fs_error = 1;
|
||||||
|
goto out;
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
@ -0,0 +1,65 @@
|
|||||||
|
From 97713c89cfa6d13488ecffa4eb66457619aa294a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Rajnoha <prajnoha@redhat.com>
|
||||||
|
Date: Fri, 3 Jan 2025 15:26:27 +0100
|
||||||
|
Subject: [PATCH 24/27] tests: adjust lvresize-xfs tests for recent lvextend
|
||||||
|
changes
|
||||||
|
|
||||||
|
Because now, we are doing the fsinfo check before extending an LV and if
|
||||||
|
that check fails, we do not proceed to the LV extension itself and the
|
||||||
|
lvextend command bails out immediatelly.
|
||||||
|
|
||||||
|
(cherry picked from commit e86a75b4fe5873f563c930a575f54143ddca7c7c)
|
||||||
|
---
|
||||||
|
test/shell/lvresize-xfs.sh | 11 +++++------
|
||||||
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/shell/lvresize-xfs.sh b/test/shell/lvresize-xfs.sh
|
||||||
|
index 87fbf6f9d..17bc6fba3 100644
|
||||||
|
--- a/test/shell/lvresize-xfs.sh
|
||||||
|
+++ b/test/shell/lvresize-xfs.sh
|
||||||
|
@@ -104,13 +104,12 @@ lvremove -f $vg/$lv
|
||||||
|
####################
|
||||||
|
|
||||||
|
# lvextend, xfs, active, mounted, --fs resize --fsmode offline
|
||||||
|
-lvcreate -n $lv -L 300M $vg
|
||||||
|
+lvcreate -n $lv -L 320M $vg
|
||||||
|
mkfs.xfs "$DM_DEV_DIR/$vg/$lv"
|
||||||
|
mount "$DM_DEV_DIR/$vg/$lv" "$mount_dir_space"
|
||||||
|
df --output=size "$mount_dir_space" |tee df1
|
||||||
|
dd if=/dev/zero of="$mount_dir_space/zeros1" bs=1M count=20 oflag=direct
|
||||||
|
-# xfs_growfs requires the fs to be mounted, so extending the lv is
|
||||||
|
-# succeeds, then the xfs extend fails because it cannot be done unmounted
|
||||||
|
+# xfs_growfs requires the fs to be mounted, so the lvextend fails here
|
||||||
|
not lvextend --fs resize --fsmode offline -L+20M $vg/$lv
|
||||||
|
check lv_field $vg/$lv lv_size "320.00m"
|
||||||
|
df | tee dfa
|
||||||
|
@@ -136,7 +135,7 @@ umount "$mount_dir_space"
|
||||||
|
# xfs_growfs requires the fs to be mounted to grow, so --fsmode nochange
|
||||||
|
# with an unmounted fs fails
|
||||||
|
not lvextend --fs resize --fsmode nochange -L+20M $vg/$lv
|
||||||
|
-check lv_field $vg/$lv lv_size "380.00m"
|
||||||
|
+check lv_field $vg/$lv lv_size "360.00m"
|
||||||
|
mount "$DM_DEV_DIR/$vg/$lv" "$mount_dir_space"
|
||||||
|
df --output=size "$mount_dir_space" |tee df4
|
||||||
|
# fs not extended so fs size not changed
|
||||||
|
@@ -147,7 +146,7 @@ umount "$mount_dir_space"
|
||||||
|
# --yes needed because mount changes are required and plain "resize"
|
||||||
|
# fsopt did not specify if the user wants to change mount state
|
||||||
|
lvextend --yes --fs resize -L+10M $vg/$lv
|
||||||
|
-check lv_field $vg/$lv lv_size "390.00m"
|
||||||
|
+check lv_field $vg/$lv lv_size "370.00m"
|
||||||
|
mount "$DM_DEV_DIR/$vg/$lv" "$mount_dir_space"
|
||||||
|
df --output=size "$mount_dir_space" |tee df5
|
||||||
|
not diff df4 df5
|
||||||
|
@@ -155,7 +154,7 @@ umount "$mount_dir_space"
|
||||||
|
|
||||||
|
# lvextend, xfs, active, unmounted, --fs resize_fsadm
|
||||||
|
lvextend --fs resize_fsadm -L+10M $vg/$lv
|
||||||
|
-check lv_field $vg/$lv lv_size "400.00m"
|
||||||
|
+check lv_field $vg/$lv lv_size "380.00m"
|
||||||
|
mount "$DM_DEV_DIR/$vg/$lv" "$mount_dir_space"
|
||||||
|
df --output=size "$mount_dir_space" |tee df6
|
||||||
|
not diff df5 df6
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
24
0025-WHATS_NEW-update.patch
Normal file
24
0025-WHATS_NEW-update.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From 7027d3897aba329a735998e3022482a1b7447ec1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Rajnoha <prajnoha@redhat.com>
|
||||||
|
Date: Mon, 6 Jan 2025 15:35:44 +0100
|
||||||
|
Subject: [PATCH 25/27] WHATS_NEW: update
|
||||||
|
|
||||||
|
(cherry picked from commit 1576273273b84bc8d3d330f113ffb1ac67f2c0a2)
|
||||||
|
---
|
||||||
|
WHATS_NEW | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/WHATS_NEW b/WHATS_NEW
|
||||||
|
index e63dfc393..40c6c2cd0 100644
|
||||||
|
--- a/WHATS_NEW
|
||||||
|
+++ b/WHATS_NEW
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
Version 2.03.30 -
|
||||||
|
==================
|
||||||
|
+ Do not extend an LV if FS resize unsupported and '--fs resize' used.
|
||||||
|
lvconvert detects early volume in use when converting it to a pool.
|
||||||
|
|
||||||
|
Version 2.03.29 -
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
42
0026-memlock-check-for-proper-reserved-size.patch
Normal file
42
0026-memlock-check-for-proper-reserved-size.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From f3eb858a302ec27801ee8bbe90030c0c2f8cc3fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zdenek Kabelac <zkabelac@redhat.com>
|
||||||
|
Date: Wed, 8 Jan 2025 17:48:53 +0100
|
||||||
|
Subject: [PATCH 26/27] memlock: check for proper reserved size
|
||||||
|
|
||||||
|
Fix regression introduced with commit:
|
||||||
|
964012fdb924076e9ab97fabe00e759ddbf7c3bd
|
||||||
|
that effectively disabled memory locking before suspending volumes.
|
||||||
|
From merging/testing there remained wrong condition
|
||||||
|
as we really want to check for 0 memory reservation value
|
||||||
|
for both checked settings.
|
||||||
|
|
||||||
|
(cherry picked from commit 4ef211a187dac348fa1857d577f5c17c9dace190)
|
||||||
|
---
|
||||||
|
lib/mm/memlock.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c
|
||||||
|
index e28044df6..e7b0b4f7a 100644
|
||||||
|
--- a/lib/mm/memlock.c
|
||||||
|
+++ b/lib/mm/memlock.c
|
||||||
|
@@ -517,7 +517,7 @@ static void _restore_priority_if_possible(struct cmd_context *cmd)
|
||||||
|
/* Stop memory getting swapped out */
|
||||||
|
static void _lock_mem(struct cmd_context *cmd)
|
||||||
|
{
|
||||||
|
- if (!_size_stack || _size_malloc_tmp) {
|
||||||
|
+ if (!_size_stack || !_size_malloc_tmp) {
|
||||||
|
log_debug_mem("Skipping memory locking (reserved memory: "
|
||||||
|
FMTsize_t " stack: " FMTsize_t ").",
|
||||||
|
_size_malloc_tmp, _size_stack);
|
||||||
|
@@ -564,7 +564,7 @@ static void _unlock_mem(struct cmd_context *cmd)
|
||||||
|
{
|
||||||
|
size_t unlock_mstats = 0;
|
||||||
|
|
||||||
|
- if (!_size_stack || _size_malloc_tmp) {
|
||||||
|
+ if (!_size_stack || !_size_malloc_tmp) {
|
||||||
|
log_debug_mem("Skipping memory unlocking (reserved memory: "
|
||||||
|
FMTsize_t " stack: " FMTsize_t ").",
|
||||||
|
_size_malloc_tmp, _size_stack);
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
23
0027-WHATS_NEW-update.patch
Normal file
23
0027-WHATS_NEW-update.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From a468c4028a2a996e5651feaf728d4c126698d478 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marian Csontos <mcsontos@redhat.com>
|
||||||
|
Date: Thu, 9 Jan 2025 15:59:48 +0100
|
||||||
|
Subject: [PATCH 27/27] WHATS_NEW: update
|
||||||
|
|
||||||
|
---
|
||||||
|
WHATS_NEW | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/WHATS_NEW b/WHATS_NEW
|
||||||
|
index 40c6c2cd0..07493831f 100644
|
||||||
|
--- a/WHATS_NEW
|
||||||
|
+++ b/WHATS_NEW
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
Version 2.03.30 -
|
||||||
|
==================
|
||||||
|
+ Fix support for disabling memory locking (2.03.27).
|
||||||
|
Do not extend an LV if FS resize unsupported and '--fs resize' used.
|
||||||
|
lvconvert detects early volume in use when converting it to a pool.
|
||||||
|
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
18
lvm2.spec
18
lvm2.spec
@ -54,7 +54,7 @@ Version: 2.03.28
|
|||||||
%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: 4%{?dist}%{?rel_suffix}
|
Release: 5%{?dist}%{?rel_suffix}
|
||||||
%endif
|
%endif
|
||||||
License: GPL-2.0-only
|
License: GPL-2.0-only
|
||||||
URL: https://sourceware.org/lvm2
|
URL: https://sourceware.org/lvm2
|
||||||
@ -82,6 +82,17 @@ Patch16: 0016-WHATS_NEW-update.patch
|
|||||||
Patch17: 0017-device_id-nvme-devices-may-use-alternate-wwids.patch
|
Patch17: 0017-device_id-nvme-devices-may-use-alternate-wwids.patch
|
||||||
Patch18: 0018-configure.ac-add-support-for-libnvme.patch
|
Patch18: 0018-configure.ac-add-support-for-libnvme.patch
|
||||||
Patch19: 0019-configure-autoreconf.patch
|
Patch19: 0019-configure-autoreconf.patch
|
||||||
|
# RHEL-53866:
|
||||||
|
Patch20: 0020-thin-deactivate-converted-volume-early.patch
|
||||||
|
Patch21: 0021-tests-check-conversion-of-in-use-volume.patch
|
||||||
|
Patch22: 0022-WHATS_NEW-update.patch
|
||||||
|
# RHEL-65845:
|
||||||
|
Patch23: 0023-lv_manip-check-fs-resize-is-supported-before-LV-exte.patch
|
||||||
|
Patch24: 0024-tests-adjust-lvresize-xfs-tests-for-recent-lvextend-.patch
|
||||||
|
Patch25: 0025-WHATS_NEW-update.patch
|
||||||
|
# RHEL-60943:
|
||||||
|
Patch26: 0026-memlock-check-for-proper-reserved-size.patch
|
||||||
|
Patch27: 0027-WHATS_NEW-update.patch
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
@ -713,6 +724,11 @@ An extensive functional testsuite for LVM2.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 10 2025 Marian Csontos <mcsontos@redhat.com> - 2.03.28-5
|
||||||
|
- Fix temporary LVs not cleaned when converting in use LV to a thin pool.
|
||||||
|
- Check FS resize is supported before extending LV.
|
||||||
|
- Fix issue affecting memory locking before suspend (2.03.27).
|
||||||
|
|
||||||
* Tue Dec 17 2024 Marian Csontos <mcsontos@redhat.com> - 2.03.28-4
|
* Tue Dec 17 2024 Marian Csontos <mcsontos@redhat.com> - 2.03.28-4
|
||||||
- Workaround for NVMe WWID changing after kernel update.
|
- Workaround for NVMe WWID changing after kernel update.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user