|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] xm save workaround
found it !
xen-3.0.1-cloexec.patch in the source RPM for xen-3.0.1
John
John Croft wrote:
Calling xc_interface_open returns a file descriptor which has had it's
close-on-exec flag set.
Disassembling the code in xc_interface_open in libxenctrl.so as
shipped in the FC5 release has two calls to fcntl just after the
open.. GET_FD, the flags, or in 1 and then SET_FD . This isn't in the
xc_misc.c in the repository, so I don't know how it's getting there.
John
Ewan Mellor wrote:
On Sat, Mar 25, 2006 at 09:04:40AM +0000, John Croft wrote:
Hi all,
This is something I posted earlier on Xen-Users. I understand it is
a known problem so you may be interested in this workaround.
cheers,
John
Hi John-
Thanks a lot, that did the trick. Have you sent this to the Xen-Devel
list? If not, I bet they would be interested.
Anyway, thanks again!
-Patrick
On 3/24/06, John Croft <john@xxxxxxxxxxxxxxxx> wrote:
Hi Patrick,
I'm wondering if this is related to the problem I had and posted
on the
xen-users list with a work-around. The symptoms are similar in that
xm_save fails but the debug output is slightly different, but that
may
be due to environmental differences.
original post follows.
John
Hi all,
Just installed Xen from the base FC5 released on Monday.
It all seems to work great except for "xm save/migrate" which
fails with
"Unable to get platform info.: 9" at XendCheckpoint:227.
Playing around with it I found that there is a program called xc_save
which is called from XendCheckpoint.py and passed in a file handle
for
the xend session and the target file named on the command line. These
handles seem to be closed when xc_save exec's, so subsequent calls
into
Xen by xc_save fail. I got it to work by adding...
from fcntl import ioctl;
FIONCLEX = 0x5450
near the top of XendCheckpoint.py
and...
ioctl (fd, FIONCLEX, 0)
ioctl (xc.handle(), FIONCLEX, 0)
at the beginning of forkHelper.
This is clearing the close-on-exec flag for each of the file
descriptors, so
import fcntl
...
fcntl.fcntl(fd, fcntl.F_SETFD, 0)
fcntl.fcntl(xc.handle(), fcntl.F_SETFD, 0)
ought to do exactly the same, but be a little neater.
What interests me though, is that these flags are set in the first
place. The
default is for this flag to be unset, and Xend is not setting the flag
explicitly on either of those file descriptors, so how did they get set?
Could you investigate?
Thanks,
Ewan.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|