[lvm-devel] LVM2 ./WHATS_NEW lib/device/dev-cache.c

zkabelac at sourceware.org zkabelac at sourceware.org
Mon Jan 17 15:16:56 UTC 2011


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac at sourceware.org	2011-01-17 15:16:56

Modified files:
	.              : WHATS_NEW 
	lib/device     : dev-cache.c 

Log message:
	Do not scan devices unnecessarily for reseting error counter
	
	For reseting error counter use directly btree cached elements and do not
	create whole dev_iterator.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1880&r2=1.1881
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/device/dev-cache.c.diff?cvsroot=lvm2&r1=1.62&r2=1.63

--- LVM2/WHATS_NEW	2011/01/13 14:56:17	1.1880
+++ LVM2/WHATS_NEW	2011/01/17 15:16:55	1.1881
@@ -1,5 +1,6 @@
 Version 2.02.81 -
 ===================================
+  Do not scan devices unnecessarily in dev_reset_error_count().
   Skip unnecessary lock_vol() call after volume deactivation.
   Extend exec_cmd params to specify, when device sync is needed.
   Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80)
--- LVM2/lib/device/dev-cache.c	2010/12/20 13:23:11	1.62
+++ LVM2/lib/device/dev-cache.c	2011/01/17 15:16:55	1.63
@@ -850,18 +850,14 @@
 
 void dev_reset_error_count(struct cmd_context *cmd)
 {
-	struct dev_iter *iter;
-	struct device *dev;
+	struct dev_iter iter;
 
-	if (!(iter = dev_iter_create(cmd->filter, 0))) {
-		log_error("Resetting device error count failed");
+	if (!_cache.devices)
 		return;
-	}
 
-	for (dev = dev_iter_get(iter); dev; dev = dev_iter_get(iter))
-		dev->error_count = 0;
-
-	dev_iter_destroy(iter);
+	iter.current = btree_first(_cache.devices);
+	while (iter.current)
+		_iter_next(&iter)->error_count = 0;
 }
 
 int dev_fd(struct device *dev)




More information about the lvm-devel mailing list