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

Re: [Xen-devel] [PATCH v3 6/6] tools/libxl: Adjust datacopiers POLLHUP handling when the fd is also readable



On Thu, 2015-03-26 at 16:20 +0100, Roger Pau Monnà wrote:
> El 16/03/15 a les 14.29, Ross Lagerwall ha escrit:
> > From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> > 
> > POLLHUP|POLLIN is a valid revent to receive when there is readable data in a
> > pipe, but the writable fd has been closed.  This occurs in migration v2 when
> > the legacy conversion process (which transforms the data inline) completes 
> > and
> > exits successfully.
> > 
> > In the case that there is data to read, suppress the POLLHUP.  POSIX states
> > that the hangup state is latched[1], which means it will reoccur on 
> > subsequent
> > poll() calls.  The datacopier is thus provided the opportunity to read until
> > EOF, if possible.
> > 
> > A POLLHUP on its own is treated exactly as before, indicating a different
> > error with the fd.
> > 
> > [1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html
> 
> This patch breaks booting pygrub guests on FreeBSD, it seems to trigger 
> some kind of error when pygrub exits:
> 
> libxl: error: libxl_bootloader.c:596:bootloader_copyfail: unexpected eof 
> copying bootloader output
> libxl: error: libxl_create.c:1129:domcreate_rebuild_done: cannot (re-)build 
> domain: -3
> 
> I will try to look into it, have you tested if the same happens on 
> Linux?

Ross/Andrew, have you tried this on Linux?

Roger, Does xl -vvv or even strace give any clues as to the sequences of
events which lead to the error?

Did/does commit 916735e1814d "tools/libxl: Restore errnoval behavior for
datacopier callback" make any difference?

Ian.


_______________________________________________
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®.