diff --git a/[refs] b/[refs] index 235411255e29..4ed4bdf1021f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 98097858ccf34367905067ce0af2e6d1fab27241 +refs/heads/master: eb8905b8ff4a887901779504d2ede95dc072bb16 diff --git a/trunk/tools/hv/hv_vss_daemon.c b/trunk/tools/hv/hv_vss_daemon.c index 95269952aa92..2a03d0b4e213 100644 --- a/trunk/tools/hv/hv_vss_daemon.c +++ b/trunk/tools/hv/hv_vss_daemon.c @@ -51,7 +51,7 @@ static int vss_operate(int operation) FILE *file; char *p; char *x; - int error; + int error = 0; switch (operation) { case VSS_OP_FREEZE: @@ -60,11 +60,13 @@ static int vss_operate(int operation) case VSS_OP_THAW: fs_op = "-u "; break; + default: + return -1; } - file = popen("mount | awk '/^\/dev\// { print $3}'", "r"); + file = popen("mount | awk '/^\\/dev\\// { print $3}'", "r"); if (file == NULL) - return; + return -1; while ((p = fgets(buf, sizeof(buf), file)) != NULL) { x = strchr(p, '\n'); @@ -128,7 +130,9 @@ int main(void) int op; struct hv_vss_msg *vss_msg; - daemon(1, 0); + if (daemon(1, 0)) + return 1; + openlog("Hyper-V VSS", 0, LOG_USER); syslog(LOG_INFO, "VSS starting; pid is:%d", getpid());