@@ -860,17 +860,31 @@ public void defISODisk(String volPath, boolean isUefiEnabled) {
860860 }
861861
862862 public void defISODisk (String volPath , Integer devId ) {
863- if (devId == null ) {
863+ defISODisk (volPath , devId , null );
864+ }
865+
866+ public void defISODisk (String volPath , Integer devId , String diskLabel ) {
867+ if (devId == null && StringUtils .isBlank (diskLabel )) {
868+ s_logger .debug (String .format ("No ID or label informed for volume [%s]." , volPath ));
864869 defISODisk (volPath );
870+ return ;
871+ }
872+
873+ _diskType = DiskType .FILE ;
874+ _deviceType = DeviceType .CDROM ;
875+ _sourcePath = volPath ;
876+
877+ if (StringUtils .isNotBlank (diskLabel )) {
878+ s_logger .debug (String .format ("Using informed label [%s] for volume [%s]." , diskLabel , volPath ));
879+ _diskLabel = diskLabel ;
865880 } else {
866- _diskType = DiskType .FILE ;
867- _deviceType = DeviceType .CDROM ;
868- _sourcePath = volPath ;
869881 _diskLabel = getDevLabel (devId , DiskBus .IDE , true );
870- _diskFmtType = DiskFmtType .RAW ;
871- _diskCacheMode = DiskCacheMode .NONE ;
872- _bus = DiskBus .IDE ;
882+ s_logger .debug (String .format ("Using device ID [%s] to define the label [%s] for volume [%s]." , devId , _diskLabel , volPath ));
873883 }
884+
885+ _diskFmtType = DiskFmtType .RAW ;
886+ _diskCacheMode = DiskCacheMode .NONE ;
887+ _bus = DiskBus .IDE ;
874888 }
875889
876890 public void defISODisk (String volPath , Integer devId ,boolean isSecure ) {
0 commit comments