[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130312184839.GA30976@aepfle.de>
Date: Tue, 12 Mar 2013 19:48:39 +0100
From: Olaf Hering <olaf@...fle.de>
To: "K. Y. Srinivasan" <kys@...rosoft.com>
Cc: gregkh@...uxfoundation.org, linux-kernel@...r.kernel.org,
devel@...uxdriverproject.org, apw@...onical.com,
jasowang@...hat.com, Evgeniy Polyakov <zbr@...emap.net>
Subject: Re: [PATCH 1/1] Drivers: hv: Add a new driver to support host
initiated backup
On Tue, Mar 12, K. Y. Srinivasan wrote:
> +static int vss_operate(int operation)
> +{
> + char *fs_op;
> + char cmd[512];
> + char buf[512];
> + FILE *file;
> + char *p;
> + char *x;
> + int error;
> +
> + switch (operation) {
> + case VSS_OP_FREEZE:
> + fs_op = "-f ";
> + break;
> + case VSS_OP_THAW:
> + fs_op = "-u ";
> + break;
> + }
> +
> + sprintf(cmd, "%s", "mount | grep ^/dev/ | awk '{print $3 }'");
I think this can be char cmd[] = "mount | awk '/^\/dev\/ { print $3'";
> + file = popen(cmd, "r");
> + if (file == NULL)
> + return;
> +
> + while ((p = fgets(buf, sizeof(buf), file)) != NULL) {
> + x = strchr(p, '\n');
> + *x = '\0';
> + if (!strncmp(p, "/", sizeof("/")))
> + continue;
> +
> + sprintf(cmd, "%s %s %s", "fsfreeze ", fs_op, p);
> + syslog(LOG_INFO, "VSS cmd is %s\n", cmd);
> + error = system(cmd);
error is not handled here, and it looks like only one error can be
reported anyway.
In case of an error, will the host thaw the filesystems?
> + }
> + pclose(file);
> +
> + sprintf(cmd, "%s %s %s", "fsfreeze ", fs_op, "/");
> + syslog(LOG_INFO, "VSS cmd is %s\n", cmd);
> + error = system(cmd);
> +
> + return error;
> +}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists