From 5881b913c097bacd9676f569c4f166dbfa333859 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Sat, 17 May 2014 09:14:58 +0200 Subject: [PATCH] add option iscsi only once 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 | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 19497f12..e1b85c30 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -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); });