[lvm-devel] [PATCH] get exclusive lock on an LV before removing it.

Patrick Caulfield pcaulfie at redhat.com
Mon Oct 23 10:11:44 UTC 2006


This patch is for BZ#209370 and prevents removing of an LV that is activated exclusively on another node.

patrick


Index: tools/lvremove.c
===================================================================
RCS file: /cvs/lvm2/LVM2/tools/lvremove.c,v
retrieving revision 1.48
diff -u -p -r1.48 lvremove.c
--- tools/lvremove.c	9 May 2006 21:23:51 -0000	1.48
+++ tools/lvremove.c	23 Oct 2006 10:10:48 -0000
@@ -75,6 +75,16 @@ static int lvremove_single(struct cmd_co
 	if (!archive(vg))
 		return ECMD_FAILED;

+	/* If the VG is clustered then make sure no-one else is using the LV
+	   we are about to remove */
+	if (vg->status & CLUSTERED) {
+		if (!activate_lv_excl(cmd, lv)) {
+			log_error("Can't get exclusive access to volume \"%s\"",
+				  lv->name);
+			return ECMD_FAILED;
+		}
+	}
+
 	/* FIXME Snapshot commit out of sequence if it fails after here? */
 	if (!deactivate_lv(cmd, lv)) {
 		log_error("Unable to deactivate logical volume \"%s\"",


-- 

patrick




More information about the lvm-devel mailing list