[PATCH V2 1/1] Drivers: hv: Add a new driver to support host initiated backup

Olaf Hering olaf at aepfle.de
Fri Mar 22 16:14:53 UTC 2013


On Fri, Mar 15, K. Y. Srinivasan wrote:

> This driver has a user-level component (daemon) that invokes the appropriate

This change fixes a few compile errors:

hv_vss_daemon.c:64:15: warning: unknown escape sequence '\/'
hv_vss_daemon.c:64:15: warning: unknown escape sequence '\/'
hv_vss_daemon.c: In function 'vss_operate':
hv_vss_daemon.c:66: warning: 'return' with no value, in function returning non-void
hv_vss_daemon.c: In function 'main':
hv_vss_daemon.c:130: warning: ignoring return value of 'daemon', declared with attribute warn_unused_result
hv_vss_daemon.c: In function 'vss_operate':
hv_vss_daemon.c:47: warning: 'fs_op' may be used uninitialized in this function

Signed-off-by: Olaf Hering <olaf at aepfle.de>

--- a/tools/hv/hv_vss_daemon.c	2013-03-22 17:06:41.000000000 +0100
+++ b/tools/hv/hv_vss_daemon.c	2013-03-22 17:09:41.000000000 +0100
@@ -51,7 +51,7 @@ static int vss_operate(int operation)
 	FILE *file;
 	char *p;
 	char *x;
-	int error;
+	int error = -1;
 
 	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:
+		goto out;
 	}
 
-	file = popen("mount | awk '/^\/dev\// { print $3}'", "r");
+	file = popen("mount | awk '/^\\/dev\\// { print $3}'", "r");
 	if (file == NULL)
-		return;
+		goto out;
 
 	while ((p = fgets(buf, sizeof(buf), file)) != NULL) {
 		x = strchr(p, '\n');
@@ -82,6 +84,7 @@ static int vss_operate(int operation)
 	syslog(LOG_INFO, "VSS cmd is %s\n", cmd);
 	error = system(cmd);
 
+out:
 	return error;
 }
 
@@ -128,7 +131,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());
 



More information about the devel mailing list