[lvm-devel] [PATCH 13 of 13] LVM: 2 mirrored log monitor fixes

Jonathan Brassow jbrassow at redhat.com
Wed Feb 17 17:57:49 UTC 2010


Patch name: lvm2-mirrored-log-monitor-fixes.patch

If an event is received on a mirrored LV which also happens to
be the log of a mirror, strip off the '_mlog' component extension
of the name and pass the encapsulating LV to 'lvconvert --repair'.


Index: LVM2/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
===================================================================
--- LVM2.orig/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
+++ LVM2/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
@@ -148,6 +148,11 @@ static int _remove_failed_devices(const 
 		return -ENOMEM;	/* FIXME Replace with generic error return - reason for failure has already got logged */
 	}
 
+	/* strip off the mirror component designations */
+	layer = strstr(lv, "_mlog");
+	if (layer)
+		layer = '\0';
+
 	/* FIXME Is any sanity-checking required on %s? */
 	if (CMD_SIZE <= snprintf(cmd_str, CMD_SIZE, "lvconvert --config devices{ignore_suspended_devices=1} --repair --use-policies %s/%s", vg, lv)) {
 		/* this error should be caught above, but doesn't hurt to check again */




More information about the lvm-devel mailing list