mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-13 18:18:22 +00:00
Refactor defaut bootdisk and smbios1 uuid generation in own subs
This will allow code reuse for qm importovf
This commit is contained in:
parent
5fd0910be3
commit
ae2fcb3be6
@ -542,26 +542,14 @@ __PACKAGE__->register_method({
|
||||
|
||||
$vollist = &$create_disks($rpcenv, $authuser, $conf, $storecfg, $vmid, $pool, $param, $storage);
|
||||
|
||||
# try to be smart about bootdisk
|
||||
my @disks = PVE::QemuServer::valid_drive_names();
|
||||
my $firstdisk;
|
||||
foreach my $ds (reverse @disks) {
|
||||
next if !$conf->{$ds};
|
||||
my $disk = PVE::QemuServer::parse_drive($ds, $conf->{$ds});
|
||||
next if PVE::QemuServer::drive_is_cdrom($disk);
|
||||
$firstdisk = $ds;
|
||||
}
|
||||
|
||||
if (!$conf->{bootdisk} && $firstdisk) {
|
||||
$conf->{bootdisk} = $firstdisk;
|
||||
if (!$conf->{bootdisk}) {
|
||||
my $firstdisk = PVE::QemuServer::resolve_first_disk($conf);
|
||||
$conf->{bootdisk} = $firstdisk if $firstdisk;
|
||||
}
|
||||
|
||||
# auto generate uuid if user did not specify smbios1 option
|
||||
if (!$conf->{smbios1}) {
|
||||
my ($uuid, $uuid_str);
|
||||
UUID::generate($uuid);
|
||||
UUID::unparse($uuid, $uuid_str);
|
||||
$conf->{smbios1} = "uuid=$uuid_str";
|
||||
$conf->{smbios1} = PVE::QemuServer::generate_smbios1_uuid();
|
||||
}
|
||||
|
||||
PVE::QemuConfig->write_config($vmid, $conf);
|
||||
|
@ -6428,6 +6428,26 @@ sub resolve_dst_disk_format {
|
||||
return $format;
|
||||
}
|
||||
|
||||
sub resolve_first_disk {
|
||||
my $conf = shift;
|
||||
my @disks = PVE::QemuServer::valid_drive_names();
|
||||
my $firstdisk;
|
||||
foreach my $ds (reverse @disks) {
|
||||
next if !$conf->{$ds};
|
||||
my $disk = PVE::QemuServer::parse_drive($ds, $conf->{$ds});
|
||||
next if PVE::QemuServer::drive_is_cdrom($disk);
|
||||
$firstdisk = $ds;
|
||||
}
|
||||
return $firstdisk;
|
||||
}
|
||||
|
||||
sub generate_smbios1_uuid {
|
||||
my ($uuid, $uuid_str);
|
||||
UUID::generate($uuid);
|
||||
UUID::unparse($uuid, $uuid_str);
|
||||
return "uuid=$uuid_str";
|
||||
}
|
||||
|
||||
# bash completion helper
|
||||
|
||||
sub complete_backup_archives {
|
||||
|
Loading…
Reference in New Issue
Block a user