]> git.proxmox.com Git - qemu-server.git/commitdiff
get_replicatable_volumes: use PVE::QemuServer::foreach_volid
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 13 Jun 2017 04:58:58 +0000 (06:58 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 13 Jun 2017 07:02:06 +0000 (09:02 +0200)
PVE/QemuConfig.pm

index e6bb1e94a79728249b328c2c563a212a083caa0e..1ea975d157dc6155d17af1233efe746ebe968bca 100644 (file)
@@ -69,9 +69,7 @@ sub get_replicatable_volumes {
     my $volhash = {};
 
     my $test_volid = sub {
-       my ($volid, $drive) = @_;
-
-       return if !$volid;
+       my ($volid, $attr) = @_;
 
        my ($storeid, $volname) = PVE::Storage::parse_volume_id($volid, $noerr);
        return if !$storeid;
@@ -79,9 +77,9 @@ sub get_replicatable_volumes {
        my $scfg = storage_config($storecfg, $storeid);
        return if $scfg->{shared};
 
-       return if PVE::QemuServer::drive_is_cdrom($drive);
+       return if $attr->{cdrom};
 
-       return if !$cleanup && defined($drive->{replicate}) && !$drive->{replicate};
+       return if !$cleanup && !$attr->{replicate};
 
        if (!PVE::Storage::volume_has_feature($storecfg, 'replicate', $volid)) {
            return if $cleanup || $noerr;
@@ -91,19 +89,7 @@ sub get_replicatable_volumes {
        $volhash->{$volid} = 1;
     };
 
-    PVE::QemuServer::foreach_drive($conf, sub {
-       my ($ds, $drive) = @_;
-       $test_volid->($drive->{file}, $drive);
-    });
-
-    foreach my $snapname (keys %{$conf->{snapshots}}) {
-       my $snap = $conf->{snapshots}->{$snapname};
-       # fixme: what about $snap->{vmstate}
-       PVE::QemuServer::foreach_drive($snap, sub {
-           my ($ds, $drive) = @_;
-           $test_volid->($drive->{file}, $drive);
-        });
-    }
+    PVE::QemuServer::foreach_volid($conf, $test_volid);
 
     return $volhash;
 }