> -----Original Message----- > From: Olaf Hering [mailto:olaf@xxxxxxxxx] > Sent: Tuesday, March 12, 2013 2:49 PM > To: KY Srinivasan > Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; apw@xxxxxxxxxxxxx; jasowang@xxxxxxxxxx; > Evgeniy Polyakov > 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'"; Yes; will make the change. > > > + 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? Both freeze and thaw operations will not fail if properly applied. The only time the freeze operation fails is when there is already an active freeze in force. Likewise, the only time thaw fails is when there has not been a preceding freeze operation. So these errors will occur only when the VM user happens to be applying freeze/thaw operations independent of the host. In this case, the host simply reports an error on the host on the backup operation and nothing else is done. Regards, K. Y > > > + } > > + pclose(file); > > + > > + sprintf(cmd, "%s %s %s", "fsfreeze ", fs_op, "/"); > > + syslog(LOG_INFO, "VSS cmd is %s\n", cmd); > > + error = system(cmd); > > + > > + return error; > > +} > > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel