XendDomain.py, xc.c, xc_linux_restore.c, xc.h:
Move read of pfn to mfn frame list into xc_linux_restore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomainInfo.py, XendDomain.py, xc.c, xc_linux_restore.c, xc.h:
Implement the parts of vm restore which need interaction with xend
as part of xend, instead of using xfrd. The restore functionality
using xfrd was broken anyway since xend didn't handle the callback
channel from xfrd correctly.
xen_domain.c:
Disable restore in xfrd.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomainInfo.py, xc.c, xc_linux_restore.c, xc_domain.c, xc.h:
Split pincpu, setcpuweight, setmaxmem and memory increase reservation
out of xc_domain_create. Add glue to get the missing functions exposed
to python and use.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomain.py:
Remove domain_db cache -- it's tedious to maintain and has zero use since
it gets flushed to the XendDB immediately on every update and it's never
consulted except for maintaining it.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Little blkif interface and xend fixes to make parallax work again.
Also minor debug printing fix to blktap.
Signed-off-by: andrew.warfield@cl.cam.ac.uk
XendDomain.py:
Add XendDomainDict for easy by name lookup.
Don't call self.refresh() from XendDomain.list().
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
console.py, blkif.py, SrvDomainDir.py, XendDomain.py, XendConsole.py:
Rename XendDomain.domains() to XendDomain.list() and rename
XendDomain.domain_by_id to XendDomain.domains.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomainInfo.py:
XendDomain.domain_exists() now returns a truth value, use domain_lookup
instead.
XendDomain.py:
Remove domain_by_name lookup array -- it's tedious to maintain for
hardly any benefits. Also make domain_exists return a truth value.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendRoot.py:
Disable logging to stderr -- the log messages are in /var/log/xend.log
already.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomainInfo.py, XendDomain.py:
Remove DomainShutdown class and store shutdown information in domain's
XendDomainInfo object.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
event.py, XendMigrate.py, EventServer.py:
Use scheduler.{now,later} instead of reactor.callLater.
reactor.py:
Remove reactor.callLater function -- same as scheduler.{now,later}.
EventServer.py:
Cleanup.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomain.py:
Bring back refresh() calls but only run the code cleanup parts
of refresh when necessary.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
scheduler.py:
Simplify scheduler by removing support for cancelling timeouts.
Also add a ``now'' function to run a function in a seperate thread.
XendDomain.py:
g/c gratuitous refresh() calls.
Drive domain restart off the virq signaling that a domain has terminated.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomain.py:
Move code to create dominfo entries for unknown domains into
domain_lookup.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
domain.c:
Send VIRQ_DOM_EXC when domain_destruct removes a domain from
Xen's list of domains.
XendDomain.py:
Now that virq's work, remove periodic domain refresh calls to reap expired
domains.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Many files:
g/c _readline{,s} and use regular readline{,s} functions -- the special
_readline{,s} functions were only needed because of Twisted.
ip.py:
Also use readlines() instead of xreadlines().
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Fix virq delivery in Xend.
xcs.c:
Fix binding to virq's -- setup evtchn binding.
channel.py:
Use VIRQ_DOM_EXC as exported from xc. Also don't bind to virq's we
don't care for or which won't get delivered to us anyway.
xc.c:
Export VIRQ_DOM_EXC to python.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
ip.py:
Make the get_current_ip* functions more robust -- default to look at the
interface which is currently used for the default route instead of eth0.
Fix get_current_ipaddr, get_current_ipmask and get_current_ipgw for
veth0.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Many files:
Make interface to network/block scripts consistent:
- output on stdout is returned to the script caller
- output on stderr is logged at the error level, messages with a '-' prefix
are logged at the debug level and messages with a '*' prefix are logged
at the info level.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Vifctl.py:
Pass script output through logger.
process.py:
os.system() replacement which outputs through the logger
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Many files:
Merge interface changes from previous 'Split out context fetching into
separate DOM0 op' and 'xen,tools: pincpu use vcpu and cpumap_t' checkins.
xc_linux_save.c:
Undo incorrect change from previous patch.
xc.h, xc_domain.c:
Cleanup whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
[PATCH] xen,tools: pincpu use vcpu and cpumap_t
The following patch updates the dom0 pincpu operation to read the VCPU
value from the xend interface rather than hard-coding the exec_domain to
0. This prevented pinning VCPUS other than 0 to a particular cpu. The
pincpu cpu argument is replaced with cpumap, a u64 bitmap representing
which CPUs a VCPU can use.
I added the number of VCPUS to the main xm list output and also included
a new sub-option to xm list to display the VCPU to CPU mapping. While
working on the pincpu code, I fixed an out-of-bounds indexing for the
pincpu operation that wasn't previously exposed since the
vcpu/exec_domain value was hard-coded to 0.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Fix problem with Python 2.4 caused by change in error behaviour
of dircache.listdir. In 2.4 it throws an error on non-existent
directories instead of returning an empty list.
See 'Porting to 2.4' in the Python release notes.
Signed-off-by: Mike Wray <mike.wray@hp.com>