[lvm-devel] LVM2/lib/metadata lv_manip.c
agk at sourceware.org
agk at sourceware.org
Sun Nov 4 16:28:57 UTC 2007
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk at sourceware.org 2007-11-04 16:28:57
Modified files:
lib/metadata : lv_manip.c
Log message:
fix new lvremove checks - mustn't fail when activation is disabled
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/lv_manip.c.diff?cvsroot=lvm2&r1=1.131&r2=1.132
--- LVM2/lib/metadata/lv_manip.c 2007/10/12 14:29:32 1.131
+++ LVM2/lib/metadata/lv_manip.c 2007/11/04 16:28:57 1.132
@@ -1839,45 +1839,37 @@
/* FIXME Ensure not referred to by another existing LVs */
- /*
- * If we can't get information about the LV from the kernel, or
- * someone has the LV device open, fail.
- */
- if (!lv_info(cmd, lv, &info, 1)) {
- log_error("Unable to obtain status for logical volume \"%s\"",
- lv->name);
- return 0;
- }
- if (info.open_count) {
- log_error("Can't remove open logical volume \"%s\"",
- lv->name);
- return 0;
- }
-
- /*
- * Check for confirmation prompts in the following cases:
- * 1) Clustered VG, and some remote nodes have the LV active
- * 2) Non-clustered VG, but LV active locally
- */
- if ((vg_status(vg) & CLUSTERED) && !activate_lv_excl(cmd, lv) &&
- (force == PROMPT)) {
- if (yes_no_prompt("Logical volume \"%s\" is active on other "
- "cluster nodes. Really remove? [y/n]: ",
- lv->name) == 'n') {
- log_print("Logical volume \"%s\" not removed",
+ if (lv_info(cmd, lv, &info, 1)) {
+ if (info.open_count) {
+ log_error("Can't remove open logical volume \"%s\"",
lv->name);
return 0;
}
- } else if (info.exists && (force == PROMPT)) {
- if (yes_no_prompt("Do you really want to remove active "
- "logical volume \"%s\"? [y/n]: ",
- lv->name) == 'n') {
- log_print("Logical volume \"%s\" not removed",
- lv->name);
- return 0;
- }
- }
+ /*
+ * Check for confirmation prompts in the following cases:
+ * 1) Clustered VG, and some remote nodes have the LV active
+ * 2) Non-clustered VG, but LV active locally
+ */
+ if ((vg_status(vg) & CLUSTERED) && !activate_lv_excl(cmd, lv) &&
+ (force == PROMPT)) {
+ if (yes_no_prompt("Logical volume \"%s\" is active on other "
+ "cluster nodes. Really remove? [y/n]: ",
+ lv->name) == 'n') {
+ log_print("Logical volume \"%s\" not removed",
+ lv->name);
+ return 0;
+ }
+ } else if (info.exists && (force == PROMPT)) {
+ if (yes_no_prompt("Do you really want to remove active "
+ "logical volume \"%s\"? [y/n]: ",
+ lv->name) == 'n') {
+ log_print("Logical volume \"%s\" not removed",
+ lv->name);
+ return 0;
+ }
+ }
+ }
if (!archive(vg))
return 0;
More information about the lvm-devel
mailing list