Re: [PATCH] virFDStreamThread: Make sure we won't exceed @length

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/06/2017 07:24 PM, Jim Fehlig wrote:
> On 06/05/2017 06:53 AM, Michal Privoznik wrote:
>> There's a problem with current streams after I switched them from
>> iohelper to thread implementation. Previously, iohelper made sure
>> not to exceed specified @length resulting in the pipe EOF
>> appearing at the exact right moment (the pipe was used to tunnel
>> the data from the iohelper to the daemon). Anyway, when switching
>> to thread I had to write the I/O code from scratch. Whilst doing
>> that I took an inspiration from the iohelper code, but since the
>> usage of pipe switched to slightly different meaning, there was
>> no 1:1 relationship between the codes.
>>
>> Moreover, after introducing VIR_FDSTREAM_MSG_TYPE_HOLE, the
>> condition that should made sure we won't exceed @length was
>> completely wrong.
>>
>> The fix is to:
>>
>> a) account for holes for @length
>> b) cap not just data sections but holes too (if @length would be
>> exceeded)
>>
>> For this purpose, the condition needs to be brought closer to the
>> code that handles holes and data sections.
> 
> For the record, this fixes the libvirt-tck failures I mentioned. Thanks!

I think this made it harder to hit the hang. The proper fix should be
this one (still unreviewed ;-)):

https://www.redhat.com/archives/libvir-list/2017-June/msg00280.html

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux