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

Re: [Xen-devel] [PATCH 2/6] tools/libxl: Update datacopier to support sending data only



On Wed, 2015-02-18 at 16:34 +0000, Andrew Cooper wrote:
> From: Wen Congyang <wency@xxxxxxxxxxxxxx>
> 
> datacopier is to read some data and write it out. If we
> have some data to send it over network, we cannot use
> datacopier. Update it to support this case.

Please can you clarify this commit message. Questions I'm left with
after reading it:

      * What is the relevance of "send it over network" here, why does
        it matter what the output fd is? Or is this something to do with
        the lack of an input fd (in which case where does the incoming
        data come from?)
      * Why can datacopier not currently be used in this case, what
        actually goes wrong?
      * What is the nature of the update which makes it work? (possibly
        becomes obvious after the previous answers)

Thanks.

Ian.

> 
> Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
>  tools/libxl/libxl_aoutils.c |    8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
> index b10d2e1..3e0c0ae 100644
> --- a/tools/libxl/libxl_aoutils.c
> +++ b/tools/libxl/libxl_aoutils.c
> @@ -309,9 +309,11 @@ int libxl__datacopier_start(libxl__datacopier_state *dc)
>  
>      libxl__datacopier_init(dc);
>  
> -    rc = libxl__ev_fd_register(gc, &dc->toread, datacopier_readable,
> -                               dc->readfd, POLLIN);
> -    if (rc) goto out;
> +    if (dc->readfd >= 0) {
> +        rc = libxl__ev_fd_register(gc, &dc->toread, datacopier_readable,
> +                                   dc->readfd, POLLIN);
> +        if (rc) goto out;
> +    }
>  
>      rc = libxl__ev_fd_register(gc, &dc->towrite, datacopier_writable,
>                                 dc->writefd, POLLOUT);



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.