[libvirt-users] Getting libvirt Error when setting IO tune read_bytes_sec value using libvirt API virDomainSetBlockIotune

Michal Privoznik mprivozn at redhat.com
Thu May 9 12:12:31 UTC 2013


On 09.05.2013 14:02, vikrant verma wrote:
> Hi All,
>  
>  I am setting the value for  "read_bytes_sec"  using the following API code
> 
> virDomainSetBlockIoTune(dom, "/mnt/tmpsdb/FileVM1", parainfoPtr,
> nparams, 2);
> 
> I am succesfully able to set this value and i can read it back using the API
> 
> 
> virDomainGetBlockIoTune(dom,"/mnt/tmpsdb/FileVM1",parainfoPtr,&nparams,2);
> 
> But after setting this value when i shutdown my VM and start it again I
> am getting following error -
> 
> ibvirtError: internal error Process exited while reading console log
> output: qemu-system-x86_64: -drive
> file=/mnt/tmpsdb/FileVM1,if=none,id=drive-ide0-1-1,format=raw,bps_rd=1048576:
> Invalid parameter 'bps_rd'

Interesting. What's the qemu version? bps_rs has been introduced in
qemu-1.1 IIRC.

> 
> 
> Note - when i see dumpxml of the VM following lines are got added after
> setting the iotunes for read_bytes_sec
> 
>  <iotune>
>         <read_bytes_sec>1048576</read_bytes_sec>
>       </iotune>
> 

Yep, that's correct. If you don't need this setting anymore, just delete
it (e.g. by using virsh edit) and you should be able to start the domain
up again.

> 
> Please help me. Also i wanted to know whether we can set block IO tune
> for a VM using the above API. Is it same as the IO throttling provided
> by cgroup?
> 
> 
> 

Michal




More information about the libvirt-users mailing list