[pve-devel] r5335 - qemu-server/trunk
svn-commits at proxmox.com
svn-commits at proxmox.com
Mon Dec 6 14:00:32 CET 2010
Author: dietmar
Date: 2010-12-06 14:00:32 +0100 (Mon, 06 Dec 2010)
New Revision: 5335
Modified:
qemu-server/trunk/ChangeLog
qemu-server/trunk/VZDump::QemuServer.pm
qemu-server/trunk/qmrestore
Log:
Modified: qemu-server/trunk/ChangeLog
===================================================================
--- qemu-server/trunk/ChangeLog 2010-12-06 09:43:32 UTC (rev 5334)
+++ qemu-server/trunk/ChangeLog 2010-12-06 13:00:32 UTC (rev 5335)
@@ -1,3 +1,10 @@
+2010-12-06 Proxmox Support Team <support at proxmox.com>
+
+ * VZDump::QemuServer.pm (archive): support new --stdout option (as
+ suggested by Mario Wolff)
+
+ * qmrestore (restore_qemu): allow to restore from STDIN ('-')
+
2010-12-03 Proxmox Support Team <support at proxmox.com>
* QemuServer.pm (config_to_command): die if ifname > 15
Modified: qemu-server/trunk/VZDump::QemuServer.pm
===================================================================
--- qemu-server/trunk/VZDump::QemuServer.pm 2010-12-06 09:43:32 UTC (rev 5334)
+++ qemu-server/trunk/VZDump::QemuServer.pm 2010-12-06 13:00:32 UTC (rev 5335)
@@ -425,13 +425,17 @@
}
}
- my $out = ">$filename";
- $out = "|cstream -t $bwl $out" if $opts->{bwlimit};
- $out = "|gzip $out" if $opts->{compress};
+ my $files = join (' ', map { "'$_'" } @filea);
- my $files = join (' ', map { "'$_'" } @filea);
-
- $self->cmd("/usr/lib/qemu-server/vmtar $files $out");
+ my $cmd = "/usr/lib/qemu-server/vmtar $files";
+ $cmd .= "|cstream -t $bwl" if $opts->{bwlimit};
+ $cmd .= "|gzip -" if $opts->{compress};
+
+ if ($opts->{stdout}) {
+ $self->cmd ($cmd, output => ">&=" . fileno($opts->{stdout}));
+ } else {
+ $self->cmd("$cmd >$filename");
+ }
}
sub cleanup {
Modified: qemu-server/trunk/qmrestore
===================================================================
--- qemu-server/trunk/qmrestore 2010-12-06 09:43:32 UTC (rev 5334)
+++ qemu-server/trunk/qmrestore 2010-12-06 13:00:32 UTC (rev 5335)
@@ -267,8 +267,13 @@
my $subcmd = shellquote ("--to-command=${quoted_cmd}\ --extract\ $vmid");
my $cmd = "tar xf '$archive' $subcmd";
- run_command ($cmd);
+ if ($archive eq '-') {
+ run_command ($cmd, input => "<&STDIN");
+ } else {
+ run_command ($cmd);
+ }
+
return if $opts->{info};
# reed new mapping
@@ -337,9 +342,11 @@
}
}
-my $firstfile = PVE::VZDump::read_firstfile ($archive);
-if ($firstfile ne 'qemu-server.conf') {
- die "ERROR: file '$archive' dos not lock like a QemuServer vzdump backup\n";
+if ($archive ne '-') {
+ my $firstfile = PVE::VZDump::read_firstfile ($archive);
+ if ($firstfile ne 'qemu-server.conf') {
+ die "ERROR: file '$archive' dos not lock like a QemuServer vzdump backup\n";
+ }
}
sub restore_archive {
More information about the pve-devel
mailing list