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@xxxxxxxxxx> --- 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel