public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* 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
@ 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
@ 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 --
2012-02-12 20:17 LVM2/lib/activate fs.c agk
-- strict thread matches above, loose matches on Subject: below --
2009-08-05 9:12 prajnoha
2009-08-04 21:44 agk
2009-08-03 18:31 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).