mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-07 13:20:08 +00:00
move test for block device to vmtar.c
This commit is contained in:
parent
15fa30e3ec
commit
3e21388903
@ -382,15 +382,8 @@ sub archive {
|
|||||||
|
|
||||||
my $fh;
|
my $fh;
|
||||||
|
|
||||||
my $sparse = '';
|
|
||||||
|
|
||||||
# no sparse file scan for block devices
|
|
||||||
# no sparse file scan when we use compression
|
|
||||||
# but we enable it for files
|
|
||||||
|
|
||||||
my @filea = ($conffile, 'qemu-server.conf'); # always first file in tar
|
my @filea = ($conffile, 'qemu-server.conf'); # always first file in tar
|
||||||
foreach my $di (@{$task->{disks}}) {
|
foreach my $di (@{$task->{disks}}) {
|
||||||
$sparse = '-s' if !$comp && $di->{type} eq 'file';
|
|
||||||
if ($di->{type} eq 'block' || $di->{type} eq 'file') {
|
if ($di->{type} eq 'block' || $di->{type} eq 'file') {
|
||||||
push @filea, $di->{snappath}, $di->{filename};
|
push @filea, $di->{snappath}, $di->{filename};
|
||||||
} else {
|
} else {
|
||||||
@ -400,6 +393,9 @@ sub archive {
|
|||||||
|
|
||||||
my $files = join (' ', map { "'$_'" } @filea);
|
my $files = join (' ', map { "'$_'" } @filea);
|
||||||
|
|
||||||
|
# no sparse file scan when we use compression
|
||||||
|
my $sparse = $comp ? '' : '-s';
|
||||||
|
|
||||||
my $cmd = "/usr/lib/qemu-server/vmtar $sparse $files";
|
my $cmd = "/usr/lib/qemu-server/vmtar $sparse $files";
|
||||||
my $bwl = $opts->{bwlimit}*1024; # bandwidth limit for cstream
|
my $bwl = $opts->{bwlimit}*1024; # bandwidth limit for cstream
|
||||||
$cmd .= "|cstream -t $bwl" if $opts->{bwlimit};
|
$cmd .= "|cstream -t $bwl" if $opts->{bwlimit};
|
||||||
|
2
vmtar.c
2
vmtar.c
@ -530,7 +530,7 @@ main (int argc, char **argv)
|
|||||||
time_t ctime = fs.st_mtime;
|
time_t ctime = fs.st_mtime;
|
||||||
|
|
||||||
struct sp_array *ma = sparray_new();
|
struct sp_array *ma = sparray_new();
|
||||||
if (sparse) {
|
if (sparse && !S_ISBLK(fs.st_mode)) {
|
||||||
if (!scan_sparse_file (fd, ma)) {
|
if (!scan_sparse_file (fd, ma)) {
|
||||||
fprintf (stderr, "scanning '%s' failed\n", source);
|
fprintf (stderr, "scanning '%s' failed\n", source);
|
||||||
exit (-1);
|
exit (-1);
|
||||||
|
Loading…
Reference in New Issue
Block a user