public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2/lib/activate fs.c
@ 2009-08-03 18:31 agk
  0 siblings, 0 replies; 5+ messages in thread
From: agk @ 2009-08-03 18:31 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2009-08-03 18:31:53

Modified files:
	lib/activate   : fs.c 

Log message:
	Add warnings to check udev did what it was meant to.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/fs.c.diff?cvsroot=lvm2&r1=1.44&r2=1.45

--- LVM2/lib/activate/fs.c	2008/12/19 14:22:48	1.44
+++ LVM2/lib/activate/fs.c	2009/08/03 18:31:53	1.45
@@ -194,9 +194,14 @@
 		return 0;
 	}
 
-	if (lstat(lv_path, &buf) || !S_ISLNK(buf.st_mode)) {
-		if (errno == ENOENT)
-			return 1;
+	if (lstat(lv_path, &buf) && errno == ENOENT)
+		return 1;
+	else if (dm_udev_get_sync_support())
+		log_warn("The link %s should have been removed by udev "
+			 "but it is still present. Falling back to "
+			 "direct link removal.", lv_path);
+
+	if (!S_ISLNK(buf.st_mode)) {
 		log_error("%s not symbolic link - not removing", lv_path);
 		return 0;
 	}


^ permalink raw reply	[flat|nested] 5+ messages in thread
* LVM2/lib/activate fs.c
@ 2012-02-12 20:17 agk
  0 siblings, 0 replies; 5+ messages in thread
From: agk @ 2012-02-12 20:17 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2012-02-12 20:17:12

Modified files:
	lib/activate   : fs.c 

Log message:
	give standard error message if lstat fails unexpectedly

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/fs.c.diff?cvsroot=lvm2&r1=1.65&r2=1.66

--- LVM2/lib/activate/fs.c	2012/02/08 10:43:42	1.65
+++ LVM2/lib/activate/fs.c	2012/02/12 20:17:12	1.66
@@ -225,7 +225,6 @@
 static int _rm_link(const char *dev_dir, const char *vg_name,
 		    const char *lv_name, int check_udev)
 {
-	int r;
 	struct stat buf;
 	static char lv_path[PATH_MAX];
 
@@ -235,14 +234,17 @@
 		return 0;
 	}
 
-	if ((r = lstat(lv_path, &buf)) && errno == ENOENT)
-		return 1;
-	else if (dm_udev_get_sync_support() && udev_checking() && check_udev)
+	if (lstat(lv_path, &buf)) {
+		if (errno == ENOENT)
+			return 1;
+		log_sys_error("lstat", lv_path);
+		return 0;
+	} else if (dm_udev_get_sync_support() && udev_checking() && check_udev)
 		log_warn("The link %s should have been removed by udev "
 			 "but it is still present. Falling back to "
 			 "direct link removal.", lv_path);
 
-	if (r || !S_ISLNK(buf.st_mode)) {
+	if (!S_ISLNK(buf.st_mode)) {
 		log_error("%s not symbolic link - not removing", lv_path);
 		return 0;
 	}


^ permalink raw reply	[flat|nested] 5+ messages in thread
* LVM2/lib/activate fs.c
@ 2009-08-05  9:12 prajnoha
  0 siblings, 0 replies; 5+ messages in thread
From: prajnoha @ 2009-08-05  9:12 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	prajnoha@sourceware.org	2009-08-05 09:12:44

Modified files:
	lib/activate   : fs.c 

Log message:
	Forgotten '%s' in one of _mk_link warning messages.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/fs.c.diff?cvsroot=lvm2&r1=1.46&r2=1.47

--- LVM2/lib/activate/fs.c	2009/08/04 21:44:20	1.46
+++ LVM2/lib/activate/fs.c	2009/08/05 09:12:44	1.47
@@ -186,7 +186,7 @@
 			return 0;
 		}
 	} else if (dm_udev_get_sync_support())
-		log_warn("The link should had been created by udev "
+		log_warn("The link %s should had been created by udev "
 			  "but it was not found. Falling back to "
 			  "direct link creation.", lv_path);
 


^ permalink raw reply	[flat|nested] 5+ messages in thread
* LVM2/lib/activate fs.c
@ 2009-08-04 21:44 agk
  0 siblings, 0 replies; 5+ messages in thread
From: agk @ 2009-08-04 21:44 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2009-08-04 21:44:27

Modified files:
	lib/activate   : fs.c 

Log message:
	detect udev mk_link problems

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/fs.c.diff?cvsroot=lvm2&r1=1.45&r2=1.46

--- LVM2/lib/activate/fs.c	2009/08/03 18:31:53	1.45
+++ LVM2/lib/activate/fs.c	2009/08/04 21:44:20	1.46
@@ -107,7 +107,7 @@
 {
 	char lv_path[PATH_MAX], link_path[PATH_MAX], lvm1_group_path[PATH_MAX];
 	char vg_path[PATH_MAX];
-	struct stat buf;
+	struct stat buf, buf_lp;
 
 	if (dm_snprintf(vg_path, sizeof(vg_path), "%s%s",
 			 dev_dir, vg_name) == -1) {
@@ -161,12 +161,34 @@
 			return 0;
 		}
 
+		if (dm_udev_get_sync_support()) {
+			/* Check udev created the correct link. */
+			if (!stat(link_path, &buf_lp) &&
+			    !stat(lv_path, &buf)) {
+				if (buf_lp.st_rdev == buf.st_rdev)
+					return 1;
+				else
+					log_warn("Symlink %s that should have been "
+						 "created by udev does not have "
+						 "correct target. Falling back to "
+						 "direct link creation", lv_path);
+			} else
+				log_warn("Symlink %s that should have been "
+					 "created by udev could not be checked "
+					 "for its correctness. Falling back to "
+					 "direct link creation.", lv_path);
+
+		}
+
 		log_very_verbose("Removing %s", lv_path);
 		if (unlink(lv_path) < 0) {
 			log_sys_error("unlink", lv_path);
 			return 0;
 		}
-	}
+	} else if (dm_udev_get_sync_support())
+		log_warn("The link should had been created by udev "
+			  "but it was not found. Falling back to "
+			  "direct link creation.", lv_path);
 
 	log_very_verbose("Linking %s -> %s", lv_path, link_path);
 	if (symlink(link_path, lv_path) < 0) {


^ permalink raw reply	[flat|nested] 5+ messages in thread
* LVM2/lib/activate fs.c
@ 2004-04-14 18:10 agk
  0 siblings, 0 replies; 5+ messages in thread
From: agk @ 2004-04-14 18:10 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2004-04-14 18:10:10

Modified files:
	lib/activate   : fs.c 

Log message:
	fix selinux error mesg

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


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

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

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-03 18:31 LVM2/lib/activate fs.c agk
  -- strict thread matches above, loose matches on Subject: below --
2012-02-12 20:17 agk
2009-08-05  9:12 prajnoha
2009-08-04 21:44 agk
2004-04-14 18:10 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).