diff --git a/xCAT-server/lib/xcat/plugins/kvm.pm b/xCAT-server/lib/xcat/plugins/kvm.pm index 4e84eb5af..a6bf890f0 100644 --- a/xCAT-server/lib/xcat/plugins/kvm.pm +++ b/xCAT-server/lib/xcat/plugins/kvm.pm @@ -862,7 +862,7 @@ sub chvm { if ($store =~ /^nfs:\/\//) { my %disks = %{get_multiple_paths_by_url(url=>$store,node=>$node)}; foreach (keys %disks) { - $useddisks{$disks{$_}}=1; + $useddisks{$disks{$_}->{device}}=1; } } } @@ -903,9 +903,16 @@ sub chvm { my $currstate=getpowstate($dom); if ($currstate eq 'on') { #attempt live attach foreach (@diskstoadd) { - my $suffix =$_; + my $suffix; + my $format; + if (/^[^\.]*\.([^\.]*)\.([^\.]*)/) { + $suffix=$1; + $format=$2; + } elsif (/^[^\.]*\.([^\.]*)/) { + $suffix=$1; + $format='raw'; + } my $bus; - $suffix =~ s/.*\.//; if ($suffix =~ /^sd/) { $bus='scsi'; } elsif ($suffix =~ /^hd/) { @@ -914,7 +921,7 @@ sub chvm { } elsif ($suffix =~ /vd/) { $bus='virtio'; } - my $xml = ""; + my $xml = ""; $dom->attach_device($xml); } }