public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2/lib/activate dev_manager.c
@ 2005-08-04  1:29 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-08-04  1:29 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-08-04 01:29:19

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	fix last checkin

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.80&r2=1.81


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2012-02-13 17:59 jbrassow
  0 siblings, 0 replies; 46+ messages in thread
From: jbrassow @ 2012-02-13 17:59 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow@sourceware.org	2012-02-13 17:59:22

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Fix bug that caused RAID devices to be unable to activate if sub-LV was missing.
	
	Commit 02f6f4902fd90709f55e2e97e969ee28c2945c81 introduced a bug that caused
	RAID devices to fail to activate if the device for a single sub-LV failed.
	The special case of LVM mirror was handled, but not LVM RAID.
	EXAMPLE:
	[root@bp-01 ~]# devices vg
	LV            Copy%  Devices
	lv            100.00 lv_rimage_0(0),lv_rimage_1(0)
	[lv_rimage_0]        /dev/sde1(1)
	[lv_rimage_1]        /dev/sdh1(1)
	[lv_rmeta_0]         /dev/sde1(0)
	[lv_rmeta_1]         /dev/sdh1(0)
	[root@bp-01 ~]# vgchange -an vg
	0 logical volume(s) in volume group "vg" now active
	[root@bp-01 ~]# off.sh sdh
	Turning off sdh
	[root@bp-01 ~]# vgchange -ay vg --partial
	Partial mode. Incomplete logical volumes will be processed.
	Couldn't find device with uuid fbI0YO-GX7x-firU-Vy5o-vzwx-vAKZ-feRxfF.
	Cannot activate vg/lv_rimage_1: all segments missing.
	0 logical volume(s) in volume group "vg" now active
	
	AFTER this patch:
	[root@bp-01 ~]# vgchange -ay vg --partial
	Partial mode. Incomplete logical volumes will be processed.
	Couldn't find device with uuid fbI0YO-GX7x-firU-Vy5o-vzwx-vAKZ-feRxfF.
	1 logical volume(s) in volume group "vg" now active
	[root@bp-01 ~]# devices vg
	Couldn't find device with uuid fbI0YO-GX7x-firU-Vy5o-vzwx-vAKZ-feRxfF.
	LV            Copy%  Devices
	lv            100.00 lv_rimage_0(0),lv_rimage_1(0)
	[lv_rimage_0]        /dev/sde1(1)
	[lv_rimage_1]        unknown device(1)
	[lv_rmeta_0]         /dev/sde1(0)
	[lv_rmeta_1]         unknown device(0)
	[root@bp-01 ~]# dmsetup table vg-lv; dmsetup status vg-lv
	0 1024000 raid raid1 3 0 region_size 1024 2 253:2 253:3 - -
	0 1024000 raid raid1 2 AD 1024000/1024000
	
	No WHATSNEW update necessary because this is an intrarelease fix.
	
	brassow

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.270&r2=1.271

--- LVM2/lib/activate/dev_manager.c	2012/02/01 13:47:27	1.270
+++ LVM2/lib/activate/dev_manager.c	2012/02/13 17:59:21	1.271
@@ -1449,11 +1449,14 @@
 		}
 
 		/*
-		 * Mirrors activate LVs replaced with error targets
+		 * Mirrors activate LVs replaced with error targets and
+		 * RAID can handle non-accessible sub-LVs.
 		 *
 		 * TODO: Can we eventually skip to activate such LVs ?
 		 */
 		if (!num_existing_areas &&
+		    !strstr(seg->lv->name, "_rmeta_") &&
+		    !strstr(seg->lv->name, "_rimage_") &&
 		    !strstr(seg->lv->name, "_mimage_") &&
 		    !((name = strstr(seg->lv->name, "_mlog")) && !name[5])) {
 			log_error("Cannot activate %s/%s: all segments missing.",


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2012-01-25 11:10 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2012-01-25 11:10 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2012-01-25 11:10:07

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Make commented out code more obvious

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.267&r2=1.268

--- LVM2/lib/activate/dev_manager.c	2012/01/25 09:10:14	1.267
+++ LVM2/lib/activate/dev_manager.c	2012/01/25 11:10:06	1.268
@@ -1201,10 +1201,11 @@
 	uint32_t s;
 	struct seg_list *sl;
 	struct lv_segment *seg = first_seg(lv);
-	/* FIXME: Resolve skip_childrens
+#if 0
+	/* FIXME For dm_tree_node_skip_children optimisation below */
 	struct dm_tree_node *thin_node;
 	const char *uuid;
-	*/
+#endif
 
 	if ((!origin_only || lv_is_thin_volume(lv)) &&
 	    !_add_dev_to_dtree(dm, dtree, lv, NULL))
@@ -1239,14 +1240,15 @@
 		return_0;
 
 	if (lv_is_thin_volume(lv)) {
-		/* FIXME: Resolve skip_childrens
+#if 0
+		/* FIXME Implement dm_tree_node_skip_children optimisation */
 		if (origin_only) {
 			if (!(uuid = build_dm_uuid(dm->mem, lv->lvid.s, NULL)))
 				return_0;
 			if ((thin_node = dm_tree_find_node_by_uuid(dtree, uuid)))
-				dm_tree_node_skip_childrens(thin_node, 1);
+				dm_tree_node_skip_children(thin_node, 1);
 		}
-		*/
+#endif
 		/* Add thin pool LV layer */
 		lv = seg->pool_lv;
 		seg = first_seg(lv);


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2012-01-19 15:19 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2012-01-19 15:19 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2012-01-19 15:19:18

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Thin rename local static
	
	Use '_' for local const char.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.257&r2=1.258

--- LVM2/lib/activate/dev_manager.c	2012/01/12 01:51:56	1.257
+++ LVM2/lib/activate/dev_manager.c	2012/01/19 15:19:18	1.258
@@ -59,7 +59,7 @@
 	const char *old_name;
 };
 
-static const char thin_layer[] = "tpool";
+static const char _thin_layer[] = "tpool";
 
 int read_only_lv(struct logical_volume *lv, struct lv_activate_opts *laopts)
 {
@@ -879,13 +879,12 @@
 	char *name;
 	const char *dlid;
 
-	/*
-	 * Build a name for the top layer.
-	 */
-	if (!(name = dm_build_dm_name(dm->mem, lv->vg->name, lv->name, thin_layer)))
+	/* Build a name for the top layer */
+	if (!(name = dm_build_dm_name(dm->mem, lv->vg->name, lv->name,
+				      _thin_layer)))
 		return_0;
 
-	if (!(dlid = build_dm_uuid(dm->mem, lv->lvid.s, thin_layer)))
+	if (!(dlid = build_dm_uuid(dm->mem, lv->lvid.s, _thin_layer)))
 		return_0;
 
 	log_debug("Getting device status percentage for %s", name);
@@ -1166,7 +1165,7 @@
 		/* FIXME code from _create_partial_dtree() should be moved here */
 		if (!_add_lv_to_dtree(dm, dtree, seg_lv(seg, 0), origin_only))
 			return_0;
-		if (!_add_dev_to_dtree(dm, dtree, lv, thin_layer))
+		if (!_add_dev_to_dtree(dm, dtree, lv, _thin_layer))
 			return_0;
 	} else if (lv_is_thin_volume(lv) &&
 		   !_add_lv_to_dtree(dm, dtree, seg->pool_lv, origin_only))
@@ -1559,11 +1558,11 @@
 	} else if (lv_is_cow(seg->lv) && !layer) {
 		if (!_add_new_lv_to_dtree(dm, dtree, seg->lv, laopts, "cow"))
 			return_0;
-	} else if ((layer != thin_layer) && seg_is_thin(seg)) {
+	} else if ((layer != _thin_layer) && seg_is_thin(seg)) {
 		lva = *laopts;
 		lva.real_pool = 1;
 		if (!_add_new_lv_to_dtree(dm, dtree, seg_is_thin_pool(seg) ?
-					  seg->lv : seg->pool_lv, &lva, thin_layer))
+					  seg->lv : seg->pool_lv, &lva, _thin_layer))
 			return_0;
 	} else {
 		if (seg_is_thin_pool(seg) &&


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-12-21 12:55 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-12-21 12:55 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-12-21 12:55:22

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Thin move layer suffix into local static const

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.253&r2=1.254

--- LVM2/lib/activate/dev_manager.c	2011/11/28 20:37:51	1.253
+++ LVM2/lib/activate/dev_manager.c	2011/12/21 12:55:22	1.254
@@ -59,6 +59,8 @@
 	const char *old_name;
 };
 
+static const char thin_layer[] = "tpool";
+
 static int _read_only_lv(struct logical_volume *lv)
 {
 	return (!(lv->vg->status & LVM_WRITE) || !(lv->status & LVM_WRITE));
@@ -1140,7 +1142,7 @@
 		/* FIXME code from _create_partial_dtree() should be moved here */
 		if (!_add_lv_to_dtree(dm, dtree, seg_lv(seg, 0), origin_only))
 			return_0;
-		if (!_add_dev_to_dtree(dm, dtree, lv, "tpool"))
+		if (!_add_dev_to_dtree(dm, dtree, lv, thin_layer))
 			return_0;
 	} else if (lv_is_thin_volume(lv) &&
 		   !_add_lv_to_dtree(dm, dtree, seg->pool_lv, origin_only))
@@ -1489,7 +1491,6 @@
 	struct lv_segment *seg_present;
 	const char *target_name;
 	struct lv_activate_opts lva;
-	static const char tpool_layer[] = "tpool";
 
 	/* Ensure required device-mapper targets are loaded */
 	seg_present = find_cow(seg->lv) ? : seg;
@@ -1534,11 +1535,11 @@
 	} else if (lv_is_cow(seg->lv) && !layer) {
 		if (!_add_new_lv_to_dtree(dm, dtree, seg->lv, laopts, "cow"))
 			return_0;
-	} else if ((layer != tpool_layer) && seg_is_thin(seg)) {
+	} else if ((layer != thin_layer) && seg_is_thin(seg)) {
 		lva = *laopts;
 		lva.real_pool = 1;
 		if (!_add_new_lv_to_dtree(dm, dtree, seg_is_thin_pool(seg) ?
-					  seg->lv : seg->pool_lv, &lva, tpool_layer))
+					  seg->lv : seg->pool_lv, &lva, thin_layer))
 			return_0;
 	} else {
 		if (seg_is_thin_pool(seg) &&


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-11-15 17:25 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-11-15 17:25 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-11-15 17:25:05

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Thin clean
	
	Reuse seg pointer already set in _add_lv_to_dtree to have the
	value of first_seg(lv) (and is used in other parts of this function).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.250&r2=1.251

--- LVM2/lib/activate/dev_manager.c	2011/11/15 17:21:02	1.250
+++ LVM2/lib/activate/dev_manager.c	2011/11/15 17:25:05	1.251
@@ -1100,17 +1100,16 @@
 		return_0;
 
 	if (lv_is_thin_pool(lv)) {
-		if (!_add_dev_to_dtree(dm, dtree, lv, "tpool"))
-			return_0;
-		if (!_add_lv_to_dtree(dm, dtree, first_seg(lv)->pool_metadata_lv, origin_only))
+		if (!_add_lv_to_dtree(dm, dtree, seg->pool_metadata_lv, origin_only))
 			return_0;
 		/* FIXME code from _create_partial_dtree() should be moved here */
-		if (!_add_lv_to_dtree(dm, dtree, seg_lv(first_seg(lv), 0), origin_only))
+		if (!_add_lv_to_dtree(dm, dtree, seg_lv(seg, 0), origin_only))
 			return_0;
-	} else if (lv_is_thin_volume(lv)) {
-		if (!_add_lv_to_dtree(dm, dtree, first_seg(lv)->pool_lv, origin_only))
+		if (!_add_dev_to_dtree(dm, dtree, lv, "tpool"))
 			return_0;
-	}
+	} else if (lv_is_thin_volume(lv) &&
+		   !_add_lv_to_dtree(dm, dtree, seg->pool_lv, origin_only))
+		return_0;
 
 	return 1;
 }


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-11-15 17:21 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-11-15 17:21 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-11-15 17:21:02

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Simplify iteration
	
	Since nothing is removed in dm_list snapshot_segs during the loop,
	there is no reason to use _safe iteration, so switch to simplier
	dm_list_iterate().

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.249&r2=1.250

--- LVM2/lib/activate/dev_manager.c	2011/11/15 17:15:03	1.249
+++ LVM2/lib/activate/dev_manager.c	2011/11/15 17:21:02	1.250
@@ -1118,7 +1118,7 @@
 static struct dm_tree *_create_partial_dtree(struct dev_manager *dm, struct logical_volume *lv, int origin_only)
 {
 	struct dm_tree *dtree;
-	struct dm_list *snh, *snht;
+	struct dm_list *snh;
 	struct lv_segment *seg;
 	uint32_t s;
 
@@ -1132,7 +1132,7 @@
 
 	/* Add any snapshots of this LV */
 	if (!origin_only && lv_is_origin(lv))
-		dm_list_iterate_safe(snh, snht, &lv->snapshot_segs)
+		dm_list_iterate(snh, &lv->snapshot_segs)
 			if (!_add_lv_to_dtree(dm, dtree, dm_list_struct_base(snh, struct lv_segment, origin_list)->cow, 0))
 				goto_bad;
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-11-15 17:15 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-11-15 17:15 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-11-15 17:15:04

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Thin fix tpool layer
	
	Since we support snapshots of thin volumes, we could have more layers,
	so we have to check whether tpool layer is going to be inserted.
	
	As the _add_segment_to_dtree() is the only place that adds tpool
	segment, we may just check pointer (no strcmp for layer).
	
	Switch to use  seg_is_  function instead of lv_is_.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.248&r2=1.249

--- LVM2/lib/activate/dev_manager.c	2011/11/03 14:52:09	1.248
+++ LVM2/lib/activate/dev_manager.c	2011/11/15 17:15:03	1.249
@@ -1455,6 +1455,7 @@
 	struct lv_segment *seg_present;
 	const char *target_name;
 	struct lv_activate_opts lva;
+	static const char tpool_layer[] = "tpool";
 
 	/* Ensure required device-mapper targets are loaded */
 	seg_present = find_cow(seg->lv) ? : seg;
@@ -1499,15 +1500,14 @@
 	} else if (lv_is_cow(seg->lv) && !layer) {
 		if (!_add_new_lv_to_dtree(dm, dtree, seg->lv, laopts, "cow"))
 			return_0;
-	} else if (!layer && (lv_is_thin_pool(seg->lv) ||
-			      lv_is_thin_volume(seg->lv))) {
+	} else if ((layer != tpool_layer) && seg_is_thin(seg)) {
 		lva = *laopts;
 		lva.real_pool = 1;
-		if (!_add_new_lv_to_dtree(dm, dtree, lv_is_thin_pool(seg->lv) ?
-					  seg->lv : seg->pool_lv, &lva, "tpool"))
+		if (!_add_new_lv_to_dtree(dm, dtree, seg_is_thin_pool(seg) ?
+					  seg->lv : seg->pool_lv, &lva, tpool_layer))
 			return_0;
 	} else {
-		if (lv_is_thin_pool(seg->lv) &&
+		if (seg_is_thin_pool(seg) &&
 		    !_add_new_lv_to_dtree(dm, dtree, seg->pool_metadata_lv, laopts, NULL))
 			return_0;
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-28 20:34 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-28 20:34 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-28 20:34:45

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Avoid creation of /dev/vg/thinpool

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.246&r2=1.247

--- LVM2/lib/activate/dev_manager.c	2011/10/17 14:18:07	1.246
+++ LVM2/lib/activate/dev_manager.c	2011/10/28 20:34:45	1.247
@@ -892,7 +892,8 @@
 	 * Is this top-level and visible device?
 	 * If not, create just the /dev/mapper content.
 	 */
-	if (layer || !lv_is_visible(lv))
+	/* FIXME: add target's method for this */
+	if (layer || !lv_is_visible(lv) || lv_is_thin_pool(lv))
 		udev_flags |= DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG |
 			      DM_UDEV_DISABLE_DISK_RULES_FLAG |
 			      DM_UDEV_DISABLE_OTHER_RULES_FLAG;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-11 10:02 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-11 10:02 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-11 10:02:28

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Use constant for the repeated dlid size specification

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.243&r2=1.244

--- LVM2/lib/activate/dev_manager.c	2011/10/11 09:03:33	1.243
+++ LVM2/lib/activate/dev_manager.c	2011/10/11 10:02:28	1.244
@@ -1852,6 +1852,7 @@
 static int _tree_action(struct dev_manager *dm, struct logical_volume *lv,
 			struct lv_activate_opts *laopts, action_t action)
 {
+	const size_t DLID_SIZE = ID_LEN + sizeof(UUID_PREFIX) - 1;
 	struct dm_tree *dtree;
 	struct dm_tree_node *root;
 	char *dlid;
@@ -1882,7 +1883,7 @@
 		if (retry_deactivation())
 			dm_tree_retry_remove(root);
 		/* Deactivate LV and all devices it references that nothing else has open. */
-		if (!dm_tree_deactivate_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
+		if (!dm_tree_deactivate_children(root, dlid, DLID_SIZE))
 			goto_out;
 		if (!_remove_lv_symlinks(dm, root))
 			log_warn("Failed to remove all device symlinks associated with %s.", lv->name);
@@ -1893,7 +1894,7 @@
 			dm_tree_use_no_flush_suspend(root);
 		/* Fall through */
 	case SUSPEND_WITH_LOCKFS:
-		if (!dm_tree_suspend_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
+		if (!dm_tree_suspend_children(root, dlid, DLID_SIZE))
 			goto_out;
 		break;
 	case PRELOAD:
@@ -1903,14 +1904,14 @@
 			goto_out;
 
 		/* Preload any devices required before any suspensions */
-		if (!dm_tree_preload_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
+		if (!dm_tree_preload_children(root, dlid, DLID_SIZE))
 			goto_out;
 
 		if (dm_tree_node_size_changed(root))
 			dm->flush_required = 1;
 
 		if (action == ACTIVATE) {
-			if (!dm_tree_activate_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
+			if (!dm_tree_activate_children(root, dlid, DLID_SIZE))
 				goto_out;
 			if (!_create_lv_symlinks(dm, root))
 				log_warn("Failed to create symlinks for %s.", lv->name);


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-11  9:03 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-11  9:03 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-11 09:03:33

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Use shorter way for if()

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.242&r2=1.243

--- LVM2/lib/activate/dev_manager.c	2011/10/11 09:02:20	1.242
+++ LVM2/lib/activate/dev_manager.c	2011/10/11 09:03:33	1.243
@@ -1224,8 +1224,7 @@
 		 * we don't have the struct definition available.
 		 */
 		struct dm_tree **tree = (struct dm_tree **) node;
-		dlid = _add_error_device(dm, *tree, seg, s);
-		if (!dlid)
+		if (!(dlid = _add_error_device(dm, *tree, seg, s)))
 			return_0;
 		if (!dm_tree_node_add_target_area(node, NULL, dlid, extent_size * seg_le(seg, s)))
 			return_0;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-11  9:02 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-11  9:02 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-11 09:02:20

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Skip backtrace after log_error

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.241&r2=1.242

--- LVM2/lib/activate/dev_manager.c	2011/10/11 09:01:38	1.241
+++ LVM2/lib/activate/dev_manager.c	2011/10/11 09:02:20	1.242
@@ -1193,7 +1193,7 @@
 
 	if (segno < 0) {
 		log_error("_add_error_device called with bad segment");
-		return_NULL;
+		return NULL;
 	}
 
 	sprintf(errid, "missing_%d_%d", segno, s);


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-11  9:01 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-11  9:01 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-11 09:01:39

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Replace with debug
	
	Since the dm_tree_create already reports reason of error,
	use log_debug for this message.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.240&r2=1.241

--- LVM2/lib/activate/dev_manager.c	2011/10/11 08:59:42	1.240
+++ LVM2/lib/activate/dev_manager.c	2011/10/11 09:01:38	1.241
@@ -1147,7 +1147,7 @@
 	uint32_t s;
 
 	if (!(dtree = dm_tree_create())) {
-		log_error("Partial dtree creation failed for %s.", lv->name);
+		log_debug("Partial dtree creation failed for %s.", lv->name);
 		return NULL;
 	}
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-11  8:54 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-11  8:54 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-11 08:54:02

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Skip r assignment
	
	Cosmetic, since r is already 0 for the error path, no need to assign it there,
	and r is assigned to 1 after switch command.
	Also makes the code more readable.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.237&r2=1.238

--- LVM2/lib/activate/dev_manager.c	2011/10/06 14:45:41	1.237
+++ LVM2/lib/activate/dev_manager.c	2011/10/11 08:54:01	1.238
@@ -1882,9 +1882,8 @@
 	case DEACTIVATE:
 		if (retry_deactivation())
 			dm_tree_retry_remove(root);
- 		/* Deactivate LV and all devices it references that nothing else has open. */
-		r = dm_tree_deactivate_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1);
-		if (!r)
+		/* Deactivate LV and all devices it references that nothing else has open. */
+		if (!dm_tree_deactivate_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
 			goto_out;
 		if (!_remove_lv_symlinks(dm, root))
 			log_error("Failed to remove all device symlinks associated with %s.", lv->name);
@@ -1905,16 +1904,14 @@
 			goto_out;
 
 		/* Preload any devices required before any suspensions */
-		r = dm_tree_preload_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1);
-		if (!r)
+		if (!dm_tree_preload_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
 			goto_out;
 
 		if (dm_tree_node_size_changed(root))
 			dm->flush_required = 1;
 
 		if (action == ACTIVATE) {
-			r = dm_tree_activate_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1);
-			if (!r)
+			if (!dm_tree_activate_children(root, dlid, ID_LEN + sizeof(UUID_PREFIX) - 1))
 				goto_out;
 			if (!_create_lv_symlinks(dm, root)) {
 				log_error("Failed to create symlinks for %s.", lv->name);


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-10-03 18:24 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2011-10-03 18:24 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2011-10-03 18:24:49

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Add preload support for thin and thin_pool

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.234&r2=1.235

--- LVM2/lib/activate/dev_manager.c	2011/09/29 08:56:38	1.234
+++ LVM2/lib/activate/dev_manager.c	2011/10/03 18:24:47	1.235
@@ -1098,6 +1098,16 @@
 	    !_add_partial_replicator_to_dtree(dm, dtree, lv))
 		return_0;
 
+	if (lv_is_thin_pool(lv)) {
+		    if (!_add_lv_to_dtree(dm, dtree, first_seg(lv)->pool_metadata_lv, origin_only))
+			    return_0;
+		    if (!_add_lv_to_dtree(dm, dtree, seg_lv(first_seg(lv), 0), origin_only))
+			    return_0;
+	} else if (lv_is_thin_volume(lv)) {
+		    if (!_add_lv_to_dtree(dm, dtree, first_seg(lv)->pool_lv, origin_only))
+			    return_0;
+	}
+
 	return 1;
 }
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-07-05  1:01 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2011-07-05  1:01 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2011-07-05 01:01:19

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Fix conditions using no_merging: only those using lv_is_merging_cow() should
	have been converted, not pure lv_is_cow ones.
	(Merging has no impact on how the pre-merged cow segment itself is loaded.)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.223&r2=1.224

--- LVM2/lib/activate/dev_manager.c	2011/07/04 14:56:58	1.223
+++ LVM2/lib/activate/dev_manager.c	2011/07/05 01:01:19	1.224
@@ -1436,7 +1436,7 @@
 		}
 		if (!_add_new_lv_to_dtree(dm, dtree, seg->lv, laopts, "real"))
 			return_0;
-	} else if (!laopts->no_merging && lv_is_cow(seg->lv) && !layer) {
+	} else if (lv_is_cow(seg->lv) && !layer) {
 		if (!_add_new_lv_to_dtree(dm, dtree, seg->lv, laopts, "cow"))
 			return_0;
 	} else {
@@ -1457,7 +1457,7 @@
 			if (!_add_snapshot_merge_target_to_dtree(dm, dnode, seg->lv))
 				return_0;
 		}
-	} else if (!laopts->no_merging && lv_is_cow(seg->lv) && !layer) {
+	} else if (lv_is_cow(seg->lv) && !layer) {
 		if (!_add_snapshot_target_to_dtree(dm, dnode, seg->lv, laopts))
 			return_0;
 	} else if (!_add_target_to_dtree(dm, dnode, seg, laopts))


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2011-07-04 14:56 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2011-07-04 14:56 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2011-07-04 14:56:58

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	reinstate accidentally-removed lines to fix pvmove again

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.222&r2=1.223

--- LVM2/lib/activate/dev_manager.c	2011/07/01 14:09:19	1.222
+++ LVM2/lib/activate/dev_manager.c	2011/07/04 14:56:58	1.223
@@ -1802,10 +1802,6 @@
 int dev_manager_preload(struct dev_manager *dm, struct logical_volume *lv,
 			struct lv_activate_opts *laopts, int *flush_required)
 {
-	/* FIXME Update the pvmove implementation! */
-	if ((lv->status & PVMOVE) || (lv->status & LOCKED))
-		return 1;
-
 	if (!_tree_action(dm, lv, laopts, PRELOAD))
 		return 0;
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-12-22 15:32 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2010-12-22 15:32 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2010-12-22 15:32:16

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Hide unused code into if 0
	
	Make it obvious for lcov coverage and static analyzis we
	are not interested in this piece of code.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.209&r2=1.210

--- LVM2/lib/activate/dev_manager.c	2010/12/20 14:04:43	1.209
+++ LVM2/lib/activate/dev_manager.c	2010/12/22 15:32:15	1.210
@@ -306,6 +306,7 @@
 	return dinfo;
 }
 
+#if 0
 /* FIXME Interface must cope with multiple targets */
 static int _status_run(const char *name, const char *uuid,
 		       unsigned long long *s, unsigned long long *l,
@@ -383,6 +384,7 @@
 
 	return 0;
 }
+#endif
 
 int lv_has_target_type(struct dm_pool *mem, struct logical_volume *lv,
 		       const char *layer, const char *target_type)


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-12-20 14:04 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2010-12-20 14:04 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2010-12-20 14:04:43

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Remove dead assignment of segh
	
	Variable 'segh' is never read again after this assignment.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.208&r2=1.209

--- LVM2/lib/activate/dev_manager.c	2010/12/08 19:26:36	1.208
+++ LVM2/lib/activate/dev_manager.c	2010/12/20 14:04:43	1.209
@@ -526,7 +526,7 @@
 						 total_numerator, total_denominator);
 	} while (next);
 
-	if (lv && (segh = dm_list_next(&lv->segments, segh))) {
+	if (lv && dm_list_next(&lv->segments, segh)) {
 		log_error("Number of segments in active LV %s does not "
 			  "match metadata", lv->name);
 		goto out;
@@ -620,7 +620,7 @@
 
 	} while (next);
 
-	if ((segh = dm_list_next(&lv->segments, segh))) {
+	if (dm_list_next(&lv->segments, segh)) {
 		log_error("Number of segments in active LV %s does not "
 			  "match metadata", lv->name);
 		goto out;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-05-14 12:39 mbroz
  0 siblings, 0 replies; 46+ messages in thread
From: mbroz @ 2010-05-14 12:39 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2010-05-14 12:39:52

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Another one internal device layer fix...

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.190&r2=1.191

--- LVM2/lib/activate/dev_manager.c	2010/05/14 12:30:43	1.190
+++ LVM2/lib/activate/dev_manager.c	2010/05/14 12:39:52	1.191
@@ -180,10 +180,9 @@
 		    !dm_split_lvm_name(NULL, NULL, &vgname, &lvname, &layer))
 			goto_out;
 
-		if (lvname && (is_reserved_lvname(lvname) || (layer && *layer))) {
+		if (lvname && (is_reserved_lvname(lvname) || *layer)) {
 			log_debug("%s: Reserved internal LV device %s/%s%s%s not usable.",
-				  dev_name(dev), vgname, lvname, layer ? "-" : "",
-				  layer ?: "");
+				  dev_name(dev), vgname, lvname, *layer ? "-" : "", layer);
 			goto out;
 		}
 	}


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-05-14 12:30 mbroz
  0 siblings, 0 replies; 46+ messages in thread
From: mbroz @ 2010-05-14 12:30 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2010-05-14 12:30:45

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Fix empty layer detection is scan devices.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.189&r2=1.190

--- LVM2/lib/activate/dev_manager.c	2010/05/14 12:03:32	1.189
+++ LVM2/lib/activate/dev_manager.c	2010/05/14 12:30:43	1.190
@@ -180,7 +180,7 @@
 		    !dm_split_lvm_name(NULL, NULL, &vgname, &lvname, &layer))
 			goto_out;
 
-		if (lvname && (is_reserved_lvname(lvname) || layer)) {
+		if (lvname && (is_reserved_lvname(lvname) || (layer && *layer))) {
 			log_debug("%s: Reserved internal LV device %s/%s%s%s not usable.",
 				  dev_name(dev), vgname, lvname, layer ? "-" : "",
 				  layer ?: "");


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-05-14 12:03 mbroz
  0 siblings, 0 replies; 46+ messages in thread
From: mbroz @ 2010-05-14 12:03 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2010-05-14 12:03:32

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Fix device_is_usable to properly detect only internal LV names.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.188&r2=1.189

--- LVM2/lib/activate/dev_manager.c	2010/05/13 18:38:38	1.188
+++ LVM2/lib/activate/dev_manager.c	2010/05/14 12:03:32	1.189
@@ -133,7 +133,7 @@
 	const char *name, *uuid;
 	uint64_t start, length;
 	char *target_type = NULL;
-	char *params;
+	char *params, *vgname = NULL, *lvname, *layer;
 	void *next = NULL;
 	int r = 0;
 
@@ -175,15 +175,23 @@
 	/* FIXME Also check dependencies? */
 
 	/* Check internal lvm devices */
-	if (is_reserved_lvname(name) && uuid &&
-	    !strncmp(uuid, UUID_PREFIX, sizeof(UUID_PREFIX) - 1)) {
-		log_debug("%s: Reserved internal LVM device not usable.", dev_name(dev));
-		goto out;
+	if (uuid && !strncmp(uuid, UUID_PREFIX, sizeof(UUID_PREFIX) - 1)) {
+		if (!(vgname = dm_strdup(name)) ||
+		    !dm_split_lvm_name(NULL, NULL, &vgname, &lvname, &layer))
+			goto_out;
+
+		if (lvname && (is_reserved_lvname(lvname) || layer)) {
+			log_debug("%s: Reserved internal LV device %s/%s%s%s not usable.",
+				  dev_name(dev), vgname, lvname, layer ? "-" : "",
+				  layer ?: "");
+			goto out;
+		}
 	}
 
 	r = 1;
 
       out:
+	dm_free(vgname);
 	dm_task_destroy(dmt);
 	return r;
 }


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-02-23 15:49 mornfall
  0 siblings, 0 replies; 46+ messages in thread
From: mornfall @ 2010-02-23 15:49 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mornfall@sourceware.org	2010-02-23 15:49:52

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Add _mlog devices to dependency trees using UUID, not name, in activation.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.181&r2=1.182

--- LVM2/lib/activate/dev_manager.c	2010/02/17 22:59:46	1.181
+++ LVM2/lib/activate/dev_manager.c	2010/02/23 15:49:52	1.182
@@ -840,7 +840,8 @@
 	if (!_add_dev_to_dtree(dm, dtree, lv, "cow"))
 		return_0;
 
-	if (!_add_dev_to_dtree(dm, dtree, lv, "_mlog"))
+	if ((lv->status & MIRRORED) && first_seg(lv)->log_lv &&
+	    !_add_dev_to_dtree(dm, dtree, first_seg(lv)->log_lv, NULL))
 		return_0;
 
 	return 1;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-02-10 14:38 snitzer
  0 siblings, 0 replies; 46+ messages in thread
From: snitzer @ 2010-02-10 14:38 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	snitzer@sourceware.org	2010-02-10 14:38:24

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Add 'fail_if_percent_unsupported' arg to _percent() and _percent_run().
	
	We unfortunately don't yet _know_, in dev_manager_snapshot_percent(), if
	a snapshot-merge target is active (activation is deferred if dev is
	open); so we can't short-circuit origin devices based purely on existing
	LVM LV attributes.
	
	Set 'fail_if_percent_unsupported' in dev_manager_snapshot_percent() for
	a merging origin LV, otherwise passing unsupported LV types to _percent
	will lead to a default successful return with percent_range as
	PERCENT_100.
	
	For a merging origin, PERCENT_100 will result in a polldaemon that runs
	infinitely (because completion is PERCENT_0).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.179&r2=1.180

--- LVM2/lib/activate/dev_manager.c	2010/02/08 23:28:06	1.179
+++ LVM2/lib/activate/dev_manager.c	2010/02/10 14:38:24	1.180
@@ -423,7 +423,7 @@
 			const char *target_type, int wait,
 			const struct logical_volume *lv, float *percent,
 			percent_range_t *overall_percent_range,
-			uint32_t *event_nr)
+			uint32_t *event_nr, int fail_if_percent_unsupported)
 {
 	int r = 0;
 	struct dm_task *dmt;
@@ -516,10 +516,8 @@
 			/* above ->target_percent() was not executed! */
 			/* FIXME why return PERCENT_100 et. al. in this case? */
 			*overall_percent_range = PERCENT_100;
-			if (lv && lv_is_merging_origin(lv)) {
-				/* must fail in snapshot-merge case */
+			if (fail_if_percent_unsupported)
 				goto_out;
-			}
 		} else
 			*overall_percent_range = combined_percent_range;
 	}
@@ -535,20 +533,24 @@
 static int _percent(struct dev_manager *dm, const char *name, const char *dlid,
 		    const char *target_type, int wait,
 		    const struct logical_volume *lv, float *percent,
-		    percent_range_t *overall_percent_range, uint32_t *event_nr)
+		    percent_range_t *overall_percent_range, uint32_t *event_nr,
+		    int fail_if_percent_unsupported)
 {
 	if (dlid && *dlid) {
 		if (_percent_run(dm, NULL, dlid, target_type, wait, lv, percent,
-				 overall_percent_range, event_nr))
+				 overall_percent_range, event_nr,
+				 fail_if_percent_unsupported))
 			return 1;
 		else if (_percent_run(dm, NULL, dlid + sizeof(UUID_PREFIX) - 1,
 				      target_type, wait, lv, percent,
-				      overall_percent_range, event_nr))
+				      overall_percent_range, event_nr,
+				      fail_if_percent_unsupported))
 			return 1;
 	}
 
 	if (name && _percent_run(dm, name, NULL, target_type, wait, lv, percent,
-				 overall_percent_range, event_nr))
+				 overall_percent_range, event_nr,
+				 fail_if_percent_unsupported))
 		return 1;
 
 	return 0;
@@ -607,6 +609,22 @@
 {
 	char *name;
 	const char *dlid;
+	int fail_if_percent_unsupported = 0;
+
+	if (lv_is_merging_origin(lv)) {
+		/*
+		 * Set 'fail_if_percent_unsupported', otherwise passing
+		 * unsupported LV types to _percent will lead to a default
+		 * successful return with percent_range as PERCENT_100.
+		 * - For a merging origin, this will result in a polldaemon
+		 *   that runs infinitely (because completion is PERCENT_0)
+		 * - We unfortunately don't yet _know_ if a snapshot-merge
+		 *   target is active (activation is deferred if dev is open);
+		 *   so we can't short-circuit origin devices based purely on
+		 *   existing LVM LV attributes.
+		 */
+		fail_if_percent_unsupported = 1;
+	}
 
 	/*
 	 * Build a name for the top layer.
@@ -621,8 +639,8 @@
 	 * Try and get some info on this device.
 	 */
 	log_debug("Getting device status percentage for %s", name);
-	if (!(_percent(dm, name, dlid, "snapshot", 0, lv, percent,
-		       percent_range, NULL)))
+	if (!(_percent(dm, name, dlid, "snapshot", 0, NULL, percent,
+		       percent_range, NULL, fail_if_percent_unsupported)))
 		return_0;
 
 	/* FIXME dm_pool_free ? */
@@ -657,7 +675,7 @@
 
 	log_debug("Getting device mirror status percentage for %s", name);
 	if (!(_percent(dm, name, dlid, "mirror", wait, lv, percent,
-		       percent_range, event_nr)))
+		       percent_range, event_nr, 0)))
 		return_0;
 
 	return 1;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-01-22 13:28 snitzer
  0 siblings, 0 replies; 46+ messages in thread
From: snitzer @ 2010-01-22 13:28 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	snitzer@sourceware.org	2010-01-22 13:28:55

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Removed inactive_table check from _lv_has_target_type.  This check
	doesn't offer any benefit (that I can recall) and testing validates
	that.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.175&r2=1.176

--- LVM2/lib/activate/dev_manager.c	2010/01/15 22:58:25	1.175
+++ LVM2/lib/activate/dev_manager.c	2010/01/22 13:28:54	1.176
@@ -327,7 +327,6 @@
 	return 0;
 }
 
-/* FIXME Is there anything simpler to check for instead? */
 static int _lv_has_target_type(struct dev_manager *dm,
 			       struct logical_volume *lv,
 			       const char *layer,
@@ -363,8 +362,7 @@
 					  &type, &params);
 		if (type && strncmp(type, target_type,
 				    strlen(target_type)) == 0) {
-			/* FIXME Why the inactive test? */
-			if (info.live_table && !info.inactive_table)
+			if (info.live_table)
 				r = 1;
 			break;
 		}
@@ -1141,6 +1139,7 @@
 				      0, 1, 0, &dinfo, NULL) && dinfo.open_count) ||
 		    (dev_manager_info(dm->mem, NULL, find_merging_cow(lv)->cow,
 				      0, 1, 0, &dinfo, NULL) && dinfo.open_count)) {
+			/* FIXME Is there anything simpler to check for instead? */
 			if (!_lv_has_target_type(dm, lv, NULL, "snapshot-merge"))
 				clear_snapshot_merge(lv);
 		}


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2010-01-13  1:44 snitzer
  0 siblings, 0 replies; 46+ messages in thread
From: snitzer @ 2010-01-13  1:44 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	snitzer@sourceware.org	2010-01-13 01:44:37

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Merging device is loaded with "-cow" suffix and with base name of the
	origin.  This is needed so that "-cow" device can be found and removed
	when lvremove is performed.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.169&r2=1.170

--- LVM2/lib/activate/dev_manager.c	2010/01/13 01:43:32	1.169
+++ LVM2/lib/activate/dev_manager.c	2010/01/13 01:44:37	1.170
@@ -1062,16 +1062,28 @@
 	struct lv_segment *seg;
 	struct lv_layer *lvlayer;
 	struct dm_tree_node *dnode;
-	char *name, *dlid;
+	char *name, *dlid, *lv_name;
 	uint32_t max_stripe_size = UINT32_C(0);
 	uint32_t read_ahead = lv->read_ahead;
 	uint32_t read_ahead_flags = UINT32_C(0);
 	uint16_t udev_flags = 0;
 
-	if (lv_is_cow(lv) && find_cow(lv)->status & SNAPSHOT_MERGE && !layer)
-		return 1;
+	lv_name = lv->name;
+	if (lv_is_cow(lv) && find_cow(lv)->status & SNAPSHOT_MERGE) {
+		if (layer) {
+			/*
+			 * use origin's name as basis for snapshot-merge device names;
+			 * this allows _clean_tree to automatically cleanup "-cow"
+			 * when the origin is resumed (after merge completes)
+			 */
+			lv_name = origin_from_cow(lv)->name;
+		} else {
+			/* top-level snapshot device is not needed during merge */
+			return 1;
+		}
+	}
 
-	if (!(name = build_dm_name(dm->mem, lv->vg->name, lv->name, layer)))
+	if (!(name = build_dm_name(dm->mem, lv->vg->name, lv_name, layer)))
 		return_0;
 
 	if (!(dlid = build_dlid(dm, lv->lvid.s, layer)))
@@ -1084,7 +1096,7 @@
 
 	if (!(lvlayer = dm_pool_alloc(dm->mem, sizeof(*lvlayer)))) {
 		log_error("_add_new_lv_to_dtree: pool alloc failed for %s %s.",
-			  lv->name, layer);
+			  lv_name, layer);
 		return 0;
 	}
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2009-12-03 10:01 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2009-12-03 10:01 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2009-12-03 10:01:30

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	minor indent change

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.165&r2=1.166

--- LVM2/lib/activate/dev_manager.c	2009/12/03 09:59:54	1.165
+++ LVM2/lib/activate/dev_manager.c	2009/12/03 10:01:30	1.166
@@ -971,7 +971,8 @@
 		/* Add any LVs used by this segment */
 		for (s = 0; s < seg->area_count; s++)
 			if ((seg_type(seg, s) == AREA_LV) &&
-			    (!_add_new_lv_to_dtree(dm, dtree, seg_lv(seg, s), NULL)))
+			    (!_add_new_lv_to_dtree(dm, dtree, seg_lv(seg, s),
+						   NULL)))
 				return_0;
 	}
 
@@ -1018,7 +1019,8 @@
 		return 1;
 
 	if (!(lvlayer = dm_pool_alloc(dm->mem, sizeof(*lvlayer)))) {
-		log_error("_add_new_lv_to_dtree: pool alloc failed for %s %s.", lv->name, layer);
+		log_error("_add_new_lv_to_dtree: pool alloc failed for %s %s.",
+			  lv->name, layer);
 		return 0;
 	}
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2009-12-03  9:59 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2009-12-03  9:59 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2009-12-03 09:59:54

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	skip cast from (void*)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.164&r2=1.165

--- LVM2/lib/activate/dev_manager.c	2009/12/03 09:58:30	1.164
+++ LVM2/lib/activate/dev_manager.c	2009/12/03 09:59:54	1.165
@@ -1095,7 +1095,7 @@
 	int r = 1;
 
 	while ((child = dm_tree_next_child(&handle, root, 0))) {
-		if (!(lvlayer = (struct lv_layer *) dm_tree_node_get_context(child)))
+		if (!(lvlayer = dm_tree_node_get_context(child)))
 			continue;
 
 		/* Detect rename */


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2009-11-04 14:56 mbroz
  0 siblings, 0 replies; 46+ messages in thread
From: mbroz @ 2009-11-04 14:56 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2009-11-04 14:56:36

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Fix compilation warning:
	activate/dev_manager.c:362: warning: combined_percent_range may be used uninitialized in this function

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.162&r2=1.163

--- LVM2/lib/activate/dev_manager.c	2009/10/26 14:29:33	1.162
+++ LVM2/lib/activate/dev_manager.c	2009/11/04 14:56:35	1.163
@@ -359,7 +359,7 @@
 	struct dm_list *segh = &lv->segments;
 	struct lv_segment *seg = NULL;
 	struct segment_type *segtype;
-	percent_range_t percent_range, combined_percent_range;
+	percent_range_t percent_range = 0, combined_percent_range = 0;
 	int first_time = 1;
 
 	uint64_t total_numerator = 0, total_denominator = 0;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2009-05-07 12:01 mbroz
  0 siblings, 0 replies; 46+ messages in thread
From: mbroz @ 2009-05-07 12:01 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2009-05-07 12:01:22

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Use zalloc in initialization of device manager (to zero pvmove mirror count).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.146&r2=1.147

--- LVM2/lib/activate/dev_manager.c	2009/02/28 20:04:24	1.146
+++ LVM2/lib/activate/dev_manager.c	2009/05/07 12:01:21	1.147
@@ -445,7 +445,7 @@
 	if (!(mem = dm_pool_create("dev_manager", 16 * 1024)))
 		return_NULL;
 
-	if (!(dm = dm_pool_alloc(mem, sizeof(*dm))))
+	if (!(dm = dm_pool_zalloc(mem, sizeof(*dm))))
 		goto_bad;
 
 	dm->cmd = cmd;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2008-09-19  7:05 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2008-09-19  7:05 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2008-09-19 07:05:03

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.140&r2=1.141

--- LVM2/lib/activate/dev_manager.c	2008/09/19 06:41:57	1.140
+++ LVM2/lib/activate/dev_manager.c	2008/09/19 07:05:03	1.141
@@ -743,11 +743,11 @@
 			return_0;
 		dm_tree_node_add_target_area(node, NULL, dlid,
 					     extent_size * seg_le(seg, s));
-	} else {
+	} else
 		dm_tree_node_add_target_area(node,
 					     dm->cmd->stripe_filler,
 					     NULL, UINT64_C(0));
-	}
+
 	return 1;
 }
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2008-01-08 16:47 zkabelac
  0 siblings, 0 replies; 46+ messages in thread
From: zkabelac @ 2008-01-08 16:47 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac@sourceware.org	2008-01-08 16:47:10

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	readahead at least twice the strip size (same as raid0 driver does)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.131&r2=1.132

--- LVM2/lib/activate/dev_manager.c	2007/12/05 19:24:31	1.131
+++ LVM2/lib/activate/dev_manager.c	2008/01/08 16:47:10	1.132
@@ -953,7 +953,8 @@
 	}
 
 	if (read_ahead == DM_READ_AHEAD_AUTO) {
-		read_ahead = max_stripe_size;
+		/* we need RA at least twice a whole stripe - see the comment in md/raid0.c */
+		read_ahead = max_stripe_size * 2;
 		read_ahead_flags = DM_READ_AHEAD_MINIMUM_FLAG;
 	}
 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2007-12-03 18:00 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2007-12-03 18:00 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2007-12-03 18:00:38

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	fix changed parms

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.129&r2=1.130

--- LVM2/lib/activate/dev_manager.c	2007/11/29 15:04:12	1.129
+++ LVM2/lib/activate/dev_manager.c	2007/12/03 18:00:38	1.130
@@ -142,9 +142,10 @@
 	if (!dm_task_get_info(dmt, info))
 		goto_out;
 
-	if (with_read_ahead)
-		*read_ahead = dm_task_get_read_ahead(dmt);
-	else if (read_ahead)
+	if (with_read_ahead) {
+		if (!dm_task_get_read_ahead(dmt, read_ahead))
+			goto_out;
+	} else if (read_ahead)
 		*read_ahead = DM_READ_AHEAD_NONE;
 
 	r = 1;


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2007-11-29 15:04 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2007-11-29 15:04 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2007-11-29 15:04:12

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	uncomment libdevmapper readahead calls

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.128&r2=1.129

--- LVM2/lib/activate/dev_manager.c	2007/11/12 20:51:53	1.128
+++ LVM2/lib/activate/dev_manager.c	2007/11/29 15:04:12	1.129
@@ -142,11 +142,10 @@
 	if (!dm_task_get_info(dmt, info))
 		goto_out;
 
-	if (!with_read_ahead) {
-		if (read_ahead)
-			*read_ahead = DM_READ_AHEAD_NONE;
-	} else
-		; // FIXME *read_ahead = dm_task_get_read_ahead(dmt);
+	if (with_read_ahead)
+		*read_ahead = dm_task_get_read_ahead(dmt);
+	else if (read_ahead)
+		*read_ahead = DM_READ_AHEAD_NONE;
 
 	r = 1;
 
@@ -901,7 +900,7 @@
 	char *name, *dlid;
 	uint32_t max_stripe_size = UINT32_C(0);
 	uint32_t read_ahead = lv->read_ahead;
-	uint32_t flags = UINT32_C(0);
+	uint32_t read_ahead_flags = UINT32_C(0);
 
 	if (!(name = build_dm_name(dm->mem, lv->vg->name, lv->name, layer)))
 		return_0;
@@ -955,9 +954,9 @@
 	if (read_ahead == DM_READ_AHEAD_AUTO)
 		read_ahead = max_stripe_size;
 	else
-		flags = DM_READ_AHEAD_MINIMUM_FLAG;
+		read_ahead_flags = DM_READ_AHEAD_MINIMUM_FLAG;
 
-	// FIXME dm_tree_node_set_read_ahead(dnode, read_ahead, flags);
+	dm_tree_node_set_read_ahead(dnode, read_ahead, read_ahead_flags);
 
 	return 1;
 }


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-11-22 19:37 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-11-22 19:37 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-11-22 19:37:14

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Remove a resolved FIXME.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.102&r2=1.103


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-11-09 23:56 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-11-09 23:56 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-11-09 23:56:36

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	workaround for pvmove with new activation code

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.101&r2=1.102


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-11-09 18:12 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-11-09 18:12 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-11-09 18:12:36

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	more mirror fixing

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.100&r2=1.101


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-11-09 13:08 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-11-09 13:08 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-11-09 13:08:41

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	rename deptree

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.99&r2=1.100


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-26 19:50 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-26 19:50 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-26 19:50:00

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	remove unused suspend code path

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.95&r2=1.96


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-26 17:56 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-26 17:56 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-26 17:56:31

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	suppress status err mesg when LVM- uuid prefix is missing

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.94&r2=1.95


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-26 17:31 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-26 17:31 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-26 17:31:12

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	remove remaining hard-coded prefix lengths

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.93&r2=1.94


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-26 15:54 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-26 15:54 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-26 15:54:50

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	a missing lvid/dlid conversion

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.92&r2=1.93


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-26 15:00 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-26 15:00 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-26 15:00:53

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Attempt to cope with LVM- prefix transition.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.91&r2=1.92


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-26 14:13 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-26 14:13 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-26 14:13:52

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	switch in new suspend code (untested)

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.90&r2=1.91


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2005-10-17 19:06 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2005-10-17 19:06 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-10-17 19:06:20

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	some deactivation fixes

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.85&r2=1.86


^ permalink raw reply	[flat|nested] 46+ messages in thread

* LVM2/lib/activate dev_manager.c
@ 2004-05-12 20:40 agk
  0 siblings, 0 replies; 46+ messages in thread
From: agk @ 2004-05-12 20:40 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2004-05-12 20:40:34

Modified files:
	lib/activate   : dev_manager.c 

Log message:
	Attempt to fix resizing of snapshot origins.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.65&r2=1.66


^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2012-02-13 17:59 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-04  1:29 LVM2/lib/activate dev_manager.c agk
  -- strict thread matches above, loose matches on Subject: below --
2012-02-13 17:59 jbrassow
2012-01-25 11:10 agk
2012-01-19 15:19 zkabelac
2011-12-21 12:55 zkabelac
2011-11-15 17:25 zkabelac
2011-11-15 17:21 zkabelac
2011-11-15 17:15 zkabelac
2011-10-28 20:34 zkabelac
2011-10-11 10:02 zkabelac
2011-10-11  9:03 zkabelac
2011-10-11  9:02 zkabelac
2011-10-11  9:01 zkabelac
2011-10-11  8:54 zkabelac
2011-10-03 18:24 zkabelac
2011-07-05  1:01 agk
2011-07-04 14:56 agk
2010-12-22 15:32 zkabelac
2010-12-20 14:04 zkabelac
2010-05-14 12:39 mbroz
2010-05-14 12:30 mbroz
2010-05-14 12:03 mbroz
2010-02-23 15:49 mornfall
2010-02-10 14:38 snitzer
2010-01-22 13:28 snitzer
2010-01-13  1:44 snitzer
2009-12-03 10:01 zkabelac
2009-12-03  9:59 zkabelac
2009-11-04 14:56 mbroz
2009-05-07 12:01 mbroz
2008-09-19  7:05 agk
2008-01-08 16:47 zkabelac
2007-12-03 18:00 agk
2007-11-29 15:04 agk
2005-11-22 19:37 agk
2005-11-09 23:56 agk
2005-11-09 18:12 agk
2005-11-09 13:08 agk
2005-10-26 19:50 agk
2005-10-26 17:56 agk
2005-10-26 17:31 agk
2005-10-26 15:54 agk
2005-10-26 15:00 agk
2005-10-26 14:13 agk
2005-10-17 19:06 agk
2004-05-12 20:40 agk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).