[Libguestfs] [PATCH REBASED] Remove main loop

Richard W.M. Jones rjones at redhat.com
Mon Sep 14 13:06:38 UTC 2009


On Mon, Sep 14, 2009 at 01:46:22PM +0100, Matthew Booth wrote:
> On 14/09/09 13:37, Richard W.M. Jones wrote:
>> In theory, but our advice for packagers (on non-Debian, non-Red Hat
>> distributions) has been to pull the Fedora binary appliance out of the
>> packages:
>>
>> http://libguestfs.org/FAQ.html#distros
>
> Then give it a bigger version bump and stick a release note in ;)
>
>> Also you can set LIBGUESTFS_PATH and point it to any appliance you
>> want, and most likely it will work.
>>
>> Anyhow, changing the protocol itself (which is very well tested) is
>> outside the scope of this patch.
>
> This patch invalidates all that testing, because it effectively changes  
> the entire implementation of the protocol. I suggest that this is a  
> perfect opportunity to also fix the protocol, if not in this patch, then  
> in one to follow closely afterwards.
>
> The cancellation of file sends is certainly broken at the protocol  
> level. Everywhere we ignore cancellation messages in the implementation  
> is simply an indication of this.

I simply don't agree.  Cancellation is tested in both directions.  The
fact that you can't -- in the current API -- cancel an upload is a
limitation of the API.  One that could be fixed relatively easily.

The protocol itself is simple, well-documented[1], and well-tested.
This patch doesn't change the daemon side at all, and doesn't
materially change the host side either (although the patch is large,
the structure of the original code is preserved).

> It's broken because there's no ACK at  
> the end of a successful send, which means that the host cannot know if  
> the file was successfully written to the guest or not unless the write  
> fails before the end of the transmission.

This isn't true.  The protocol catches this case correctly, because
there _is_ an "ACK" at the end of file transfers and file failures.

[1] http://libguestfs.org/guestfs.3.html#communication_protocol

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list