[pve-devel] applied: [PATCH qemu-server] Fix 2097 allow to set and pass wwn parameter for ide, sata and scsi disks

Christian Ebner c.ebner at proxmox.com
Tue Feb 26 09:55:53 CET 2019


Ah, yes sorry for that. Note to myself: include such info in future commit messages.

Thx for the feedback!

> On February 26, 2019 at 7:58 AM Thomas Lamprecht <t.lamprecht at proxmox.com> wrote:
> 
> 
> On 2/25/19 5:30 PM, Christian Ebner wrote:
> > This allows to set the wwn parameter for ide, sata and scsi disks in the VM
> > config and passes it to the qemu command on execution.
> > 
> 
> Thanks, but missing about why you did not add it to %drivedesc_base, I can tell
> that VirtIO-Block does not support it, but it would be a nice info to have in
> the commit message, makes it easier and quicker to review and maybe others
> cannot tell at the first glance ;-) Anyway, applied with slightly enhanced
> commit message, thanks!
> 
> 
> > Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> > ---
> >  PVE/QemuServer.pm | 16 ++++++++++++++++
> >  1 file changed, 16 insertions(+)
> > 
> > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> > index 6dc68a4..2d3bf58 100644
> > --- a/PVE/QemuServer.pm
> > +++ b/PVE/QemuServer.pm
> > @@ -1052,6 +1052,16 @@ my %ssd_fmt = (
> >      },
> >  );
> >  
> > +my %wwn_fmt = (
> > +    wwn => {
> > +	type => 'string',
> > +	pattern => qr/^(0x)[0-9a-fA-F]{16}/,
> > +	format_description => 'wwn',
> > +	description => "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
> > +	optional => 1,
> > +    },
> > +);
> > +
> >  my $add_throttle_desc = sub {
> >      my ($key, $type, $what, $unit, $longunit, $minimum) = @_;
> >      my $d = {
> > @@ -1100,6 +1110,7 @@ my $ide_fmt = {
> >      %drivedesc_base,
> >      %model_fmt,
> >      %ssd_fmt,
> > +    %wwn_fmt,
> >  };
> >  PVE::JSONSchema::register_format("pve-qm-ide", $ide_fmt);
> >  
> > @@ -1116,6 +1127,7 @@ my $scsi_fmt = {
> >      %queues_fmt,
> >      %scsiblock_fmt,
> >      %ssd_fmt,
> > +    %wwn_fmt,
> >  };
> >  my $scsidesc = {
> >      optional => 1,
> > @@ -1127,6 +1139,7 @@ PVE::JSONSchema::register_standard_option("pve-qm-scsi", $scsidesc);
> >  my $sata_fmt = {
> >      %drivedesc_base,
> >      %ssd_fmt,
> > +    %wwn_fmt,
> >  };
> >  my $satadesc = {
> >      optional => 1,
> > @@ -1153,6 +1166,7 @@ my $alldrive_fmt = {
> >      %queues_fmt,
> >      %scsiblock_fmt,
> >      %ssd_fmt,
> > +    %wwn_fmt,
> >  };
> >  
> >  my $efidisk_fmt = {
> > @@ -1784,6 +1798,7 @@ sub print_drivedevice_full {
> >  	if ($drive->{ssd} && ($devicetype eq 'block' || $devicetype eq 'hd')) {
> >  	    $device .= ",rotation_rate=1";
> >  	}
> > +	$device .= ",wwn=$drive->{wwn}" if $drive->{wwn};
> >  
> >      } elsif ($drive->{interface} eq 'ide' || $drive->{interface} eq 'sata') {
> >  	my $maxdev = ($drive->{interface} eq 'sata') ? $MAX_SATA_DISKS : 2;
> > @@ -1808,6 +1823,7 @@ sub print_drivedevice_full {
> >  		$device .= ",rotation_rate=1";
> >  	    }
> >  	}
> > +	$device .= ",wwn=$drive->{wwn}" if $drive->{wwn};
> >      } elsif ($drive->{interface} eq 'usb') {
> >  	die "implement me";
> >  	#  -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0
> > 
>




More information about the pve-devel mailing list