[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[lvm-devel] LVM2 ./WHATS_NEW lib/activate/activate.c



CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz sourceware org	2009-09-29 15:17:54

Modified files:
	.              : WHATS_NEW 
	lib/activate   : activate.c 

Log message:
	Return fail if lv_deactivate did not removed device from kernel.
	
	lv_deactivate now returns always success, because tree deactivation
	functions (see dm_tree_deactivate_children) always returns success.
	
	Because code should return failure in lv_deactivate at least,
	fix it by checking for device existence after real deactivation call.
	
	(After discussion this was prefered solution to dm tree function rewrite
	which affects snapshots and mirrors.)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1277&r2=1.1278
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/activate.c.diff?cvsroot=lvm2&r1=1.153&r2=1.154

--- LVM2/WHATS_NEW	2009/09/28 21:23:02	1.1277
+++ LVM2/WHATS_NEW	2009/09/29 15:17:54	1.1278
@@ -1,5 +1,6 @@
 Version 2.02.54 -
 =====================================
+  Return fail if lv_deactivate fails to remove device from kernel.
   Provide alternative implementation of obsolete siginterrupt().
   Consolidate LV allocation into alloc_lv().
   Treat input units of both 's' and 'S' as 512-byte sectors.  (2.02.49)
--- LVM2/lib/activate/activate.c	2009/06/01 12:43:32	1.153
+++ LVM2/lib/activate/activate.c	2009/09/29 15:17:54	1.154
@@ -1017,6 +1017,8 @@
 	memlock_dec();
 	fs_unlock();
 
+	if (!lv_info(cmd, lv, &info, 1, 0) || info.exists)
+		r = 0;
 out:
 	if (lv)
 		vg_release(lv->vg);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]