]> git.proxmox.com Git - qemu-server.git/commitdiff
add option iscsi only once
authorDietmar Maurer <dietmar@proxmox.com>
Sat, 17 May 2014 07:14:58 +0000 (09:14 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Sat, 17 May 2014 07:14:58 +0000 (09:14 +0200)
We simply add option iscsi if we have an initiator name. So we
never add this option multiple times, and it works with hotplug
in case someone plugs an 'iscsi:' drive later.

PVE/QemuServer.pm

index 19497f12660ca449a5dca6354ca1c3aa19517365..e1b85c3032d6c3dff7fd80ab2fc1c25b42abb24a 100644 (file)
@@ -2590,6 +2590,11 @@ sub config_to_command {
     my $ahcicontroller = {};
     my $scsihw = defined($conf->{scsihw}) ? $conf->{scsihw} : $defaults->{scsihw};
 
+    # Add iscsi initiator name if available
+    if (my $initiator = get_initiator_name()) {
+       push @$devices, '-iscsi', "initiator-name=$initiator";
+    }
+
     foreach_drive($conf, sub {
        my ($ds, $drive) = @_;
 
@@ -2629,14 +2634,6 @@ sub config_to_command {
 
        my $drive_cmd = print_drive_full($storecfg, $vmid, $drive);
        push @$devices, '-drive',$drive_cmd;
-
-       # Add iscsi option
-       my $iscsi_opts = undef;
-       if ($drive_cmd =~ m|^file=iscsi://|) {
-           my $initiator = get_initiator_name(); # return undef or string
-           $iscsi_opts =  "initiator-name=$initiator" if $initiator;
-       }
-       push @$devices, '-iscsi', $iscsi_opts if $iscsi_opts;
        push @$devices, '-device', print_drivedevice_full($storecfg, $conf, $vmid, $drive, $bridges);
     });