[pve-devel] [PATCH] add ide-cd, ide-hd, scsi-cd, scsi-hd, scsi-block to device syntax
Dietmar Maurer
dietmar at proxmox.com
Wed Dec 7 06:28:37 CET 2011
Hi Alexandre,
Do we really need the 'media=block' option?
I think that it is easy to detect a block device, so we can automatically use 'scsi-block' in that case?
Or are there disadvantages?
> -----Original Message-----
> From: pve-devel-bounces at pve.proxmox.com [mailto:pve-devel-
> bounces at pve.proxmox.com] On Behalf Of Derumier Alexandre
> Sent: Dienstag, 06. Dezember 2011 09:52
> To: pve-devel at pve.proxmox.com
> Subject: [pve-devel] [PATCH] add ide-cd, ide-hd, scsi-cd, scsi-hd, scsi-block to
> device syntax
>
> ide-cd, ide-hd replace old ide-drive legacy syntax
> scsi-cd, iscsi-hd replace old ide-drive legacy syntax
> scsi-block is new in qemu 1.0
>
> Signed-off-by: Derumier Alexandre <aderumier at odiso.com>
> ---
> PVE/QemuServer.pm | 22 ++++++++++++++++++----
> 1 files changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 858b292..d42463d 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -445,7 +445,7 @@ PVE::JSONSchema::register_standard_option("pve-qm-
> ide", $idedesc);
> my $scsidesc = {
> optional => 1,
> type => 'string', format => 'pve-qm-drive',
> - typetext => '[volume=]volume,] [,media=cdrom|disk]
> [,cyls=c,heads=h,secs=s[,trans=t]] [,snapshot=on|off]
> [,cache=none|writethrough|writeback|unsafe] [,format=f] [,backup=yes|no]
> [,aio=native|threads]',
> + typetext => '[volume=]volume,] [,media=cdrom|disk|block]
> [,cyls=c,heads=h,secs=s[,trans=t]] [,snapshot=on|off]
> [,cache=none|writethrough|writeback|unsafe] [,format=f] [,backup=yes|no]
> [,aio=native|threads]',
> description => "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
> };
> PVE::JSONSchema::register_standard_option("pve-qm-scsi", $scsidesc);
> @@ -872,6 +872,8 @@ sub print_drivedevice_full {
> my $device = '';
> my $maxdev = 0;
>
> +
> +
> if ($drive->{interface} eq 'virtio') {
> my $pciaddr = print_pci_addr("$drive->{interface}$drive->{index}");
> $device = "virtio-blk-pci,drive=drive-$drive->{interface}$drive-
> >{index},id=$drive->{interface}$drive->{index}$pciaddr";
> @@ -882,8 +884,19 @@ sub print_drivedevice_full {
> $maxdev = 7;
> my $controller = int($drive->{index} / $maxdev);
> my $unit = $drive->{index} % $maxdev;
> + my $devicetype = '';
> +
> + if($drive->{media} && $drive->{media} eq 'cdrom') {
> + $devicetype = "cd";
> + }
> + elsif ($drive->{media} && $drive->{media} eq 'block') {
> + $devicetype = $drive->{media};
> + }
> + else {
> + $devicetype = "hd";
> + }
>
> - $device = "scsi-disk,bus=scsi$controller.0,scsi-id=$unit,drive=drive-$drive-
> >{interface}$drive->{index},id=device-$drive->{interface}$drive->{index}";
> + $device = "scsi-$devicetype,bus=scsi$controller.0,scsi-id=$unit,drive=drive-
> $drive->{interface}$drive->{index},id=device-$drive->{interface}$drive-
> >{index}";
> }
>
> elsif ($drive->{interface} eq 'ide'){
> @@ -891,8 +904,9 @@ sub print_drivedevice_full {
> $maxdev = 2;
> my $controller = int($drive->{index} / $maxdev);
> my $unit = $drive->{index} % $maxdev;
> + my $devicetype = ($drive->{media} && $drive->{media} eq 'cdrom') ? "cd" :
> "hd";
>
> - $device = "ide-drive,bus=ide.$controller,unit=$unit,drive=drive-$drive-
> >{interface}$drive->{index},id=device-$drive->{interface}$drive->{index}";
> + $device = "ide-$devicetype,bus=ide.$controller,unit=$unit,drive=drive-
> $drive->{interface}$drive->{index},id=device-$drive->{interface}$drive-
> >{index}";
> }
>
> if ($drive->{interface} eq 'usb'){
> --
> 1.7.2.5
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
More information about the pve-devel
mailing list