[lvm-devel] master - pvck: repair should clear hints
David Teigland
teigland at sourceware.org
Wed Sep 2 19:22:18 UTC 2020
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=f5a669f3145c92220346871bad4ab1c0149a1cc2
Commit: f5a669f3145c92220346871bad4ab1c0149a1cc2
Parent: 8b9028bbe7a6f2e01ba6bddcf256d02fc11d4858
Author: David Teigland <teigland at redhat.com>
AuthorDate: Wed Sep 2 14:21:17 2020 -0500
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Wed Sep 2 14:21:17 2020 -0500
pvck: repair should clear hints
repairing a pv can cause the hint file to become incorrect
---
test/shell/hints.sh | 15 +++++++++++++++
tools/pvck.c | 2 ++
2 files changed, 17 insertions(+)
diff --git a/test/shell/hints.sh b/test/shell/hints.sh
index f95505a20..176ee2176 100644
--- a/test/shell/hints.sh
+++ b/test/shell/hints.sh
@@ -338,6 +338,21 @@ pvs
not diff $HINTS $PREV
+#
+# Test pvck --repair forces refresh
+#
+
+rm $HINTS $PREV
+pvs
+cp $HINTS $PREV
+pvck --repairtype label_header -y "$dev5"
+cat $NEWHINTS
+grep 'Created empty by pvck' $HINTS
+# this next pvs creates new hints
+pvs
+# the only diff will be "Created by..."
+not diff $HINTS $PREV
+
#
# Test incorrect dev-to-pvid info in hints is detected
diff --git a/tools/pvck.c b/tools/pvck.c
index 302c74621..39449af68 100644
--- a/tools/pvck.c
+++ b/tools/pvck.c
@@ -3037,6 +3037,8 @@ int pvck(struct cmd_context *cmd, int argc, char **argv)
if (arg_is_set(cmd, repairtype_ARG) || arg_is_set(cmd, repair_ARG)) {
pv_name = argv[0];
+ clear_hint_file(cmd);
+
if (!(dev = dev_cache_get(cmd, pv_name, cmd->filter))) {
log_error("No device found for %s %s.", pv_name, dev_cache_filtered_reason(pv_name));
return ECMD_FAILED;
More information about the lvm-devel
mailing list