[PATCH 1/3] Tools: hv: vssdaemon: consult with errno in case of failure only
Vitaly Kuznetsov
vkuznets at redhat.com
Fri Nov 7 17:09:28 UTC 2014
If ioctl() return 0 there is no point in examining errno and
it can actually produce misleading output. In case there was
no failure errno will contain the error code for previous failure
so user will see the following in the log:
Hyper-V VSS: VSS: freeze of /mnt/udf: Operation not supported
Hyper-V VSS: VSS: freeze of /: Operation not supported
We should also log errors with LOG_ERR instead of LOG_INFO.
Signed-off-by: Vitaly Kuznetsov <vkuznets at redhat.com>
---
tools/hv/hv_vss_daemon.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/hv/hv_vss_daemon.c b/tools/hv/hv_vss_daemon.c
index 9ae2b6e..5f67858 100644
--- a/tools/hv/hv_vss_daemon.c
+++ b/tools/hv/hv_vss_daemon.c
@@ -52,7 +52,11 @@ static int vss_do_freeze(char *dir, unsigned int cmd, char *fs_op)
if (fd < 0)
return 1;
ret = ioctl(fd, cmd, 0);
- syslog(LOG_INFO, "VSS: %s of %s: %s\n", fs_op, dir, strerror(errno));
+ if (ret)
+ syslog(LOG_ERR, "VSS: %s of %s: %s\n", fs_op, dir,
+ strerror(errno));
+ else
+ syslog(LOG_INFO, "VSS: %s of %s succeeded\n", fs_op, dir);
close(fd);
return !!ret;
}
--
1.9.3
More information about the devel
mailing list