[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 2/6] tools/libxl: Update datacopier to support sending data only
From: Wen Congyang <wency@xxxxxxxxxxxxxx> Currently, starting a datacopier requires a valid read and write fd, but this is a problem when purely sending data from a local buffer to a writable fd. The prefixdata mechanism already exists and works for inserting data from a local buffer ahead of reading from the read fd. Make the lack of a read fd non-fatal. A datacopier with no read fd, but some prefixdata will write the prefixdata to the write fd and complete successfully. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> [Rewrite commit message] Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> 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); -- 2.1.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |