summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WHATS_NEW1
-rw-r--r--test/t-activate-partial.sh2
-rw-r--r--tools/toollib.c6
3 files changed, 9 insertions, 0 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index 7f760ee4..c21a32e1 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.67 -
===============================
+ Require partial option in lvchange --refresh for partial LVs.
Do not fail lvm_init() if init_logging() or _init_rand() generates an errno.
Don't merge unchanged persistent cache file before dumping if tool scanned.
Fix incorrect memory pool deallocation while using vg_read for files.
diff --git a/test/t-activate-partial.sh b/test/t-activate-partial.sh
index dd978f53..f0a95c57 100644
--- a/test/t-activate-partial.sh
+++ b/test/t-activate-partial.sh
@@ -9,6 +9,8 @@ disable_dev $dev1
not vgreduce --removemissing $vg
not lvchange -v -a y $vg/mirror
lvchange -v --partial -a y $vg/mirror
+not lvchange -v --refresh $vg/mirror
+lvchange -v --refresh --partial $vg/mirror
# also check that vgchange works
vgchange -a n --partial $vg
diff --git a/tools/toollib.c b/tools/toollib.c
index 4022a328..e6791e23 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -1248,6 +1248,12 @@ int lv_refresh(struct cmd_context *cmd, struct logical_volume *lv)
{
int r = 0;
+ if (!cmd->partial_activation && (lv->status & PARTIAL_LV)) {
+ log_error("Refusing refresh of partial LV %s. Use --partial to override.",
+ lv->name);
+ goto out;
+ }
+
r = suspend_lv(cmd, lv);
if (!r)
goto_out;