[Spice-devel] [PATCH spice-gtk 11/15] channel-main: Make SpiceFileXferTask-s ref the channel
Hans de Goede
hdegoede at redhat.com
Fri Mar 29 04:37:08 PDT 2013
Hi,
On 03/10/2013 03:44 PM, Hans de Goede wrote:
> Hi,
>
> First of all thanks for the review.
>
> On 03/10/2013 03:28 PM, Marc-André Lureau wrote:
>> On Sat, Mar 9, 2013 at 12:06 PM, Hans de Goede <hdegoede at redhat.com> wrote:
>>> So that the channel sticks around while their callbacks are completing.
>>
>> I am not sure this is a good idea. Keeping channel references around
>> will break migration code.
>>
>> Have you checked with seamless & non-seamless migrations?
>
> I don't expect much of a problem with non-seamless since the reset code
> I added will cancel all pending xfers and thus free all references
> (although with a slight delay if any operation is pending).
>
> And the channel is not replaced in the seamless case, so the
> really troublesome scenario is the non-seamless, where the reset_agent
> code will cancel the pending xfers (eventually) freeing the refs.
As they say the proof is in the pudding.
I finally have the agent "channel" data corruption issue I was seeing
while testing seamless migration fixed. It turned out to not be migration
related, but a tricky spicevmc bug in qemu, see:
http://lists.gnu.org/archive/html/qemu-devel/2013-03/msg05209.html
So with this fixed I've now been able to finally test seamless and
semi-seamless migration with active file-xfers.
I've run various tests repeatedly and things work fine, with
semi-seamless the file-xfer gets cancelled, but that is to be expected
as the agent "channel" gets broken.
So as I already expected (see my previous reply above), the (temporary)
taking of a ref on the channel does not seem to cause any problems.
In the mean time I've reworked the patch series a bit, to fix some
scenarios where the file-xfer-task would be destroyed while callbacks
referencing it where still pending.
I'll send a new version of the series after this mail.
Regards,
Hans
More information about the Spice-devel
mailing list