[lvm-devel] master - pools: prompt only when metadata lv exists
Zdenek Kabelac
zkabelac at fedoraproject.org
Mon Nov 10 21:06:04 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=09e32e4addd63d232ea98b0c6d633efbfc503daf
Commit: 09e32e4addd63d232ea98b0c6d633efbfc503daf
Parent: 138c2417c070eef5cdb9839a88efae5b601f4a49
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Sat Nov 8 13:53:13 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Nov 10 21:35:56 2014 +0100
pools: prompt only when metadata lv exists
If the VG has no pool metadata volume, don't prompt about
removal of _pmspare.
---
WHATS_NEW | 1 +
lib/metadata/lv_manip.c | 18 ++++++++++++------
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 06d3b9b..8c0a85d 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.112 -
=====================================
+ Don't prompt for removal of _pmspare in VG without pool metadata LV.
Deactivation of snapshot origin detects and deactivates left-over snapshots.
Properly report error when taking snapshot of any cache type LV.
Add basic thread debugging messages to dmeventd.
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index bedf4b6..b029395 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -5570,6 +5570,7 @@ int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume *
dm_percent_t snap_percent;
struct dm_list *snh, *snht;
struct lvinfo info;
+ struct lv_list *lvl;
struct logical_volume *origin;
if (lv_is_cow(lv)) {
@@ -5649,12 +5650,17 @@ int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume *
return_0;
if (lv_is_pool_metadata_spare(lv) &&
- (force == PROMPT) &&
- (yes_no_prompt("Removal of pool metadata spare logical volume"
- " \"%s\" disables automatic recovery attempts"
- " after damage to a thin or cache pool."
- " Proceed? [y/n]: ", lv->name) == 'n'))
- goto no_remove;
+ (force == PROMPT)) {
+ dm_list_iterate_items(lvl, &lv->vg->lvs)
+ if (lv_is_pool_metadata(lvl->lv)) {
+ if (yes_no_prompt("Removal of pool metadata spare logical volume"
+ " \"%s\" disables automatic recovery attempts"
+ " after damage to a thin or cache pool."
+ " Proceed? [y/n]: ", lv->name) == 'n')
+ goto no_remove;
+ break;
+ }
+ }
return lv_remove_single(cmd, lv, force, 0);
More information about the lvm-devel
mailing list