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