summaryrefslogtreecommitdiffstats
path: root/lib/device
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-09-07 11:24:19 +0000
committerJim Meyering <jim@meyering.net>2007-09-07 11:24:19 +0000
commitb45b84644977e2c08534711a330b0b70a04a2150 (patch)
tree27625f1700c40fa536eb71d8b4e0ff0e884108c0 /lib/device
parent1102c4ee95dbc0a50e902fd4583ce2cc0809fcec (diff)
downloadlvm2-b45b84644977e2c08534711a330b0b70a04a2150.tar.gz
lvm2-b45b84644977e2c08534711a330b0b70a04a2150.tar.xz
lvm2-b45b84644977e2c08534711a330b0b70a04a2150.zip
Include strerror string in dev_open_flags' stat failure message.
* lib/device/dev-io.c (dev_open_flags): Use log_sys_error after failed stat to report strerror(errno). Use a slightly different diagnostic to report mismatched device number.
Diffstat (limited to 'lib/device')
-rw-r--r--lib/device/dev-io.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
index 94069032..54ae88e5 100644
--- a/lib/device/dev-io.c
+++ b/lib/device/dev-io.c
@@ -359,10 +359,15 @@ int dev_open_flags(struct device *dev, int flags, int direct, int quiet)
return 0;
}
- if (!(dev->flags & DEV_REGULAR) &&
- ((stat(name, &buf) < 0) || (buf.st_rdev != dev->dev))) {
- log_error("%s: stat failed: Has device name changed?", name);
- return 0;
+ if (!(dev->flags & DEV_REGULAR)) {
+ if (stat(name, &buf) < 0) {
+ log_sys_error("%s: stat failed", name);
+ return 0;
+ }
+ if (buf.st_rdev != dev->dev) {
+ log_error("%s: device changed", name);
+ return 0;
+ }
}
#ifdef O_DIRECT_SUPPORT