mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-02 21:49:42 +00:00
fix bootdisk_size for new bootorder config scheme
Previously, we ever only had a single boot *disk*, while possibly having multiple cdroms/nics in the boot order e.g. the config: boot: dnc bootdisk: scsi0 ide0: media=cdrom,none scsi0: xxx net0: ... would return the size of scsi0 even though it would first boot from cdrom/network. When editing the bootorder with such a legacy config, we remove the 'bootdisk' property and replace the legacy notation with an explicit order, but we only search the first disk for the size now. Restore that behaviour by iterating over all disks in the boot order property string until we get one that is not a cdrom and has a size. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
8f43ac4893
commit
30664f14ff
@ -531,20 +531,18 @@ sub bootdisk_size {
|
||||
|
||||
my $bootdisks = get_bootdisks($conf);
|
||||
return if !@$bootdisks;
|
||||
my $bootdisk = $bootdisks->[0];
|
||||
return if !is_valid_drivename($bootdisk);
|
||||
for my $bootdisk (@$bootdisks) {
|
||||
next if !is_valid_drivename($bootdisk);
|
||||
next if !$conf->{$bootdisk};
|
||||
my $drive = parse_drive($bootdisk, $conf->{$bootdisk});
|
||||
next if !defined($drive);
|
||||
next if drive_is_cdrom($drive);
|
||||
my $volid = $drive->{file};
|
||||
next if !$volid;
|
||||
return $drive->{size};
|
||||
}
|
||||
|
||||
return if !$conf->{$bootdisk};
|
||||
|
||||
my $drive = parse_drive($bootdisk, $conf->{$bootdisk});
|
||||
return if !defined($drive);
|
||||
|
||||
return if drive_is_cdrom($drive);
|
||||
|
||||
my $volid = $drive->{file};
|
||||
return if !$volid;
|
||||
|
||||
return $drive->{size};
|
||||
return;
|
||||
}
|
||||
|
||||
sub update_disksize {
|
||||
|
Loading…
Reference in New Issue
Block a user