[lvm-devel] LVM2 Patch to avoid excessive monitoring flips during --resync

Jonathan Brassow jbrassow at redhat.com
Thu May 15 19:46:41 UTC 2008


Avoid unnecessary monitoring when simply wiping the log.

Index: LVM2-cvs/tools/lvchange.c
===================================================================
--- LVM2-cvs.orig/tools/lvchange.c
+++ LVM2-cvs/tools/lvchange.c
@@ -178,6 +178,7 @@ static int lvchange_resync(struct cmd_co
 			      struct logical_volume *lv)
 {
 	int active = 0;
+	int monitored;
 	struct lvinfo info;
 	struct logical_volume *log_lv;
 
@@ -226,6 +227,10 @@ static int lvchange_resync(struct cmd_co
 		return 0;
 	}
 
+	/* Try to avoid unnecessary dmeventd activity */
+	monitored = dmeventd_monitor_mode();
+	init_dmeventd_monitor(0);
+
 	if (vg_is_clustered(lv->vg) && !activate_lv_excl(cmd, lv)) {
 		log_error("Can't get exclusive access to clustered volume %s",
 			  lv->name);
@@ -316,6 +321,8 @@ static int lvchange_resync(struct cmd_co
 		return 0;
 	}
 
+	init_dmeventd_monitor(monitored);
+
 	if (active && !activate_lv(cmd, lv)) {
 		log_error("Failed to reactivate %s after resync", lv->name);
 		return 0;





More information about the lvm-devel mailing list