]> git.proxmox.com Git - pve-storage.git/commitdiff
DRBD: Remove search loop, limit results via the query.
authorPhilipp Marek <philipp.marek@linbit.com>
Thu, 8 Oct 2015 08:24:46 +0000 (10:24 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 15 Oct 2015 06:53:08 +0000 (08:53 +0200)
PVE/Storage/DRBDPlugin.pm

index b7808296b2b8e54a4a7186c1c20c095c2eae65ea..cca48ce082ab33d517ff09633ceac05829b69499 100644 (file)
@@ -304,15 +304,11 @@ sub activate_volume {
     
     my $hdl = connect_drbdmanage_service();
     my $nodename = PVE::INotify::nodename();
-    my ($rc, $res) = $hdl->list_assignments([$nodename], [], 0, {}, []);
+    my ($rc, $res) = $hdl->list_assignments([$nodename], [$volname], 0, {}, []);
     check_drbd_res($rc);
 
-    foreach my $entry (@$res) {
-       my ($node, $res_name, $props, $voldata) = @$entry;
-       if (($node eq $nodename) && ($res_name eq $volname)) {
-           return undef; # assignment already exists
-       }
-    }
+# assignment already exists?
+    return undef if @$res;
 
     # create diskless assignment
     ($rc, $res) = $hdl->assign($nodename, $volname, { diskless => 'true' });