* [Git][lvmteam/lvm2][main] 4 commits: pvmove: fix building sibling raid lv name
@ 2023-09-19 12:57 Zdeněk Kabeláč
0 siblings, 0 replies; only message in thread
From: Zdeněk Kabeláč @ 2023-09-19 12:57 UTC (permalink / raw)
To: lvm-devel
Zden?k Kabel?? pushed to branch main at LVM team / lvm2
Commits:
e2f29c49 by Zdenek Kabelac at 2023-09-19T14:47:27+02:00
pvmove: fix building sibling raid lv name
Make a local copy of the 'idx' string to avoid
overlapping during the rebuild of name.
This fixes cases where users specified raid
component LVs for moving.
Reported-by: kotarou3 at github.com
- - - - -
c7c51329 by Zdenek Kabelac at 2023-09-19T14:54:51+02:00
tests: check pvmove with raid legs
Check pvmove correctly handles raid legs on input
(testing previous pvmove fix).
- - - - -
984c024e by Zdenek Kabelac at 2023-09-19T14:54:51+02:00
typos: misc
- - - - -
fc2feabe by Zdenek Kabelac at 2023-09-19T14:54:51+02:00
WHATS_NEW: updates
- - - - -
8 changed files:
- WHATS_NEW
- daemons/lvmpolld/lvmpolld-data-utils.h
- device_mapper/libdm-string.c
- libdm/libdm-string.c
- test/Makefile.in
- test/lib/aux.sh
- test/shell/pvmove-raid-segtypes.sh
- tools/pvmove.c
Changes:
=====================================
WHATS_NEW
=====================================
@@ -1,5 +1,6 @@
version 2.03.23 -
==================================
+ Fix pvmove when specifying raid components as moved LVs.
Enhance error detection for lvm_import_vdo.
Support PV lists with thin lvconvert.
Fix support for lvm_import_vdo with SCSI VDO volumes.
=====================================
daemons/lvmpolld/lvmpolld-data-utils.h
=====================================
@@ -66,7 +66,7 @@ struct lvmpolld_lv {
/* block of shared variables protected by lock */
struct lvmpolld_cmd_stat cmd_state;
- unsigned init_rq_count; /* for debuging purposes only */
+ unsigned init_rq_count; /* for debugging purposes only */
unsigned polling_finished:1; /* no more updates */
unsigned error:1; /* unrecoverable error occured in lvmpolld */
};
=====================================
device_mapper/libdm-string.c
=====================================
@@ -192,7 +192,7 @@ int dm_asprintf(char **result, const char *format, ...)
}
/*
- * Count occurences of 'c' in 'str' until we reach a null char.
+ * Count occurrences of 'c' in 'str' until we reach a null char.
*
* Returns:
* len - incremented for each char we encounter.
=====================================
libdm/libdm-string.c
=====================================
@@ -192,7 +192,7 @@ int dm_asprintf(char **result, const char *format, ...)
}
/*
- * Count occurences of 'c' in 'str' until we reach a null char.
+ * Count occurrences of 'c' in 'str' until we reach a null char.
*
* Returns:
* len - incremented for each char we encounter.
=====================================
test/Makefile.in
=====================================
@@ -110,7 +110,7 @@ help:
@echo " LVM_TEST_LOCKING Normal (1), Cluster (3)."
@echo " LVM_TEST_LVMPOLLD Start lvmpolld"
@echo " LVM_TEST_NODEBUG Do not debug lvm commands."
- @echo " LVM_TEST_PARALLEL May skip agresive wipe of LVMTEST resources."
+ @echo " LVM_TEST_PARALLEL May skip agressive wipe of LVMTEST resources."
@echo " LVM_TEST_RESULTS Where to create result files [results]."
@echo " LVM_TEST_THIN_CHECK_CMD Command for thin_check [$(LVM_TEST_THIN_CHECK_CMD)]."
@echo " LVM_TEST_THIN_DUMP_CMD Command for thin_dump [$(LVM_TEST_THIN_DUMP_CMD)]."
@@ -126,7 +126,7 @@ help:
@echo " LVM_VALGRIND_DMEVENTD Enable valgrind testing of dmeventd (1)."
@echo " LVM_VALGRIND_LVMPOLLD Enable valgrind testing of lvmpolld (1)."
@echo " LVM_STRACE Enable strace logging."
- @echo " LVM_DEBUG_LEVEL Sets debuging level for valgrind/strace (use > 0)."
+ @echo " LVM_DEBUG_LEVEL Sets debugging level for valgrind/strace (use > 0)."
@echo " LVM_DEBUG_LVMDBUS Run lvmdbus with --debug option."
@echo " LVM_VERIFY_UDEV Default verify state for lvm.conf."
@echo " LVM_LOG_FILE_MAX_LINES Maximum number of logged lines for lvm2 command [1000000]."
=====================================
test/lib/aux.sh
=====================================
@@ -24,7 +24,7 @@ expect_failure() {
}
check_daemon_in_builddir() {
- # skip if we don't have our own deamon...
+ # skip if we don't have our own daemon...
if test -z "${installed_testsuite+varset}"; then
(which "$1" 2>/dev/null | grep "$abs_builddir" >/dev/null ) || skip "$1 is not in executed path."
fi
=====================================
test/shell/pvmove-raid-segtypes.sh
=====================================
@@ -46,6 +46,20 @@ pvmove $mode -n $lv1 "$dev5" "$dev4"
check lv_tree_on $vg $lv1 "$dev2" "$dev4"
check lv_tree_on $vg ${lv1}_foo "$dev5"
check dev_md5sum $vg $lv1
+
+# Check moving raid component LVs
+pvmove $mode -n ${lv1}_rimage_0 "$dev4" "$dev1"
+check lv_tree_on $vg $lv1 "$dev1" "$dev2"
+check lv_on $vg ${lv1}_rimage_0 "$dev1"
+check lv_on $vg ${lv1}_rmeta_0 "$dev4"
+check dev_md5sum $vg $lv1
+lvs -ao+devices $vg
+
+pvmove $mode -n ${lv1}_rmeta_0 "$dev4" "$dev1"
+check lv_tree_on $vg $lv1 "$dev1" "$dev2"
+check lv_on $vg ${lv1}_rimage_0 "$dev1"
+check lv_on $vg ${lv1}_rmeta_0 "$dev1"
+check dev_md5sum $vg $lv1
lvremove -ff $vg
# Testing pvmove of RAID10 LV
=====================================
tools/pvmove.c
=====================================
@@ -141,6 +141,7 @@ static int _remove_sibling_pvs_from_trim_list(struct logical_volume *lv,
char *idx, *suffix;
const char *sibling;
char sublv_name[NAME_LEN];
+ char idx_buf[16];
struct logical_volume *sublv;
struct dm_list untrim_list, *pvh1, *pvh2;
struct pv_list *pvl1, *pvl2;
@@ -174,9 +175,15 @@ static int _remove_sibling_pvs_from_trim_list(struct logical_volume *lv,
}
idx++;
+ /* Copy idx to local buffer */
+ if (!dm_strncpy(idx_buf, idx, sizeof(idx_buf))) {
+ log_error(INTERNAL_ERROR "Unexpected LV index %s.", idx);
+ return 0;
+ }
+
/* Create the siblings name (e.g. "raidlv_rmeta_N" -> "raidlv_rimage_N" */
if (dm_snprintf(suffix + 2, sizeof(sublv_name) - 2 - (suffix - sublv_name),
- "%s_%s", sibling, idx) < 0) {
+ "%s_%s", sibling, idx_buf) < 0) {
log_error("Raid sublv for name %s too long.", lv_name);
return 0;
}
View it on GitLab: https://gitlab.com/lvmteam/lvm2/-/compare/970e4d295eddb47d4540bb0762e35bd17b07841f...fc2feabef7507108311c01e48c6262606caf37fd
--
View it on GitLab: https://gitlab.com/lvmteam/lvm2/-/compare/970e4d295eddb47d4540bb0762e35bd17b07841f...fc2feabef7507108311c01e48c6262606caf37fd
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/lvm-devel/attachments/20230919/337422fa/attachment-0001.htm>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-09-19 12:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-19 12:57 [Git][lvmteam/lvm2][main] 4 commits: pvmove: fix building sibling raid lv name Zdeněk Kabeláč
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).