Commit Graph
8114 Commits
Author SHA1 Message Date
Ian Jackson 0c85cce09c tools/hotplug: locking.sh script: fix lock directory remains on error bug
_release_lock should be used instead of release_lock.
sigerr is introduced so that it can be redefined by
xen-hotplug-common.sh to a version which writes error status to xenstore.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2010-07-06 13:10:14 +01:00
Ian Jackson 2157eba42a tools/xenstore: add XS_RESTRICT operation to C xenstore client libs.
The OCaml xenstored supports the XS_RESTRICT operation, which
deprivileges a dom0 xenstore connection so it can only affect one
domain's entries.   Add the relevant definitions to the C libraries
so that callers can use it.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-06 11:57:20 +01:00
Ian Jackson f2402d342d Merge 2010-07-06 11:54:40 +01:00
Keir Fraser 1b9cecdb88 blktap2: make protocol specific usage of shared sring explicit
I don't think protocol specific data really belongs in this header
but since it is already there and we seem to be stuck with it let's at
least make the users explicit lest people get caught out by future new
fields moving the pad field around.

This is the Xen portion of this change. The kernel portion will be
sent separately. There is no dependency between the two.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 18:58:02 +01:00
Ian Jackson c55f511297 tools/pygrub: --not-really option for debugging
Add a --not-really option to pygrub that lets us see what files it would
have extracted instead of actually extracting them.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-02 17:57:53 +01:00
Ian Jackson 79b518480a tools/pygrub: Fix a typo handling device specs with no partition part
pygrub: fix a typo that causes exceptions when looking at device
specifications that don't have a partition part (e.g. (hd0)).

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-02 17:56:05 +01:00
Ian Jackson baa1aae9cf tools/debugger/gdb: Remove gdb
This code is not maintained, does not work properly, and no-one is
using it.  Delete it, following discussion on xen-devel.
2010-07-02 17:46:01 +01:00
Ian Jackson cb2b6edf55 Merge 2010-07-02 17:34:44 +01:00
Keir Fraser 8c5c89fc7c xenpaging: Fix 32-bit build after fixed-width type changes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-30 22:12:54 +01:00
Keir Fraser 79bdfbb588 trace: share t_info pages only in read-only mode
There's no need to share writably the t_info pages (Dom0 only wants
[and needs] to read it)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
2010-06-29 18:18:42 +01:00
Ian Jackson 18aaa3fea9 Merge 2010-06-29 18:02:35 +01:00
Ian Jackson 4b544ba535 tools/pygrub: Fix default when out of range
This is the patch to fix pyGrub default value when it's being set out of
range. This patch makes the quiet and interactive mode select the same
default image when the default value for boot entry is out of range,
i.e. when the guest is having wrong configuration in it's boot loader
(like 3 entries with default mistakenly set to 10 etc).

When the boot entry number is being set out of range it falls back to 0
(first entry of boot loader).

Signed-off-by: Michal Novotny <minovotn@redhat.com>
2010-06-29 16:23:13 +01:00
Ian Jackson fa5685207c tools/xend: Revert 21541:7ff0e885b5c3 "a few blktap2 fixes"
Following discussion on xen-devel.  This changeset is doubtful and in
any case incomplete.
2010-06-29 16:21:20 +01:00
Ian Jackson ce9f534104 tools/ocaml: libxl ocaml bindings
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-06-29 15:15:57 +01:00
Ian Jackson f706d9e9af tools: init.d/xencommons: Wait for xenstored to start before setting dom0 name
On one of my boxes, the xenstore-write setting dom0's name starts
before xenstored is actually ready to handle the connection properly,
resulting in the name set failing.  Wait for xenstored to be up and
responding to reads before continuing, timing out after 30 seconds.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2010-06-29 15:07:17 +01:00
Ian Jackson 8209429099 tools: init.d/xencommons: Make init script more verbose
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2010-06-29 15:06:27 +01:00
Ian Jackson b616bee08b tools/xend, xm: add a command to get the state of VMs
add a command "domstate" to get the state of Vms, which may have one state of
{'shutoff', 'idle','shutdown','running','crashed','paused' or 'paused by
admin"}.

For case of pause, I distinguish it into two conditions. One is "paused" the
other is "paused by admin".
"pasued by admin" means that users pause a domain voluntary by "xm paused
VM" or " API"

Signed-off-by James (Song Wei) <jsong@novell.com>
2010-06-29 14:52:51 +01:00
Keir Fraser d9edd37387 gpxe: Add eb-roms.h to hgignore list and build ROMs serially.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-29 13:43:18 +01:00
Keir Fraser 98ed7531a4 gpxe: Build e1000 ROM with PCI-ID matching that advertised by qemu-dm.
Also build gpxe without -Werror and require it always to be built (do
not include a pre-built binary in our source repo).

Portions of this patch are from Gianni Tedesco <gianni.tedesco@citrix.com>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-29 13:33:37 +01:00
Ian Jackson 7bbf69bc87 tools/ocaml: Add .NOTPARALLEL to Makefile
tools/ocaml was capable of descending into lib/* and xenstored/
simultaneously, obviously with poor results.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-06-28 17:35:10 +01:00
Ian Jackson 4f5a16eb5c libxl: Specify no nics to qemu when no emulated nics
qemu will default to one emulated NIC if no network configuration is
specified on the command-line.  If there are no emualted NICs (i.e.,
no NICs or all NICs are PV), specify no nics to avoid getting an
emulated NIC by default.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2010-06-28 17:13:43 +01:00
Ian Jackson 28d7162231 libxl: Pass bridge config info into xenstore
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2010-06-28 17:10:38 +01:00
Ian Jackson df0dc32332 tools/libxc: Do not crash freeing logger on xc_interface_open error path
libxc could sometimes free the logger which xl created.
Thanks to report from Yang Hongyang <yanghy@cn.fujitsu.com>.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-06-28 16:56:52 +01:00
Ian Jackson f3fdbe7359 tools/python: sxp parser: show empty string
This patch makes the sxp parser show empty string.

Test case:
 import sxp
 sxp.show(sxp.from_string('(a "")'))
 sxp.show(sxp.from_string("(a '')"))

Without this patch:
 (a )(a )
With this patch:
 (a '')(a '')

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
2010-06-28 16:49:45 +01:00
Ian Jackson ddf97d4db8 libxc: Fix ia64 build for interface change
This patch fixes ia64 by the following method:
- rename xc_handle xch
- rename guest_xc xch
- add xc_interface *xch to arguments of some functions
- replace xc_dom_printf with macros
- Add *xch argument to corresponding x86 functions [iwj]

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-06-25 15:43:50 +01:00
Ian Jackson a2fab4fce5 xend: Fix up check "mac" address sooner change
In changeset 21653,
         dev_type = sxp.name(dev_config)
should not have been moved, otherwise, the checking "mac"
paragraph is of no use.

(The original patch as submitted was correct but I had to make the
change manually as it had been mangled.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by Chunyan Liu <CYLiu@novell.com>
2010-06-25 15:13:11 +01:00
Ian Jackson d5da15306f ocaml: remove bogus /dev/xen/ev[en]tchn
Oxenstored should not try to create the evtchn device, as it:

    * creates the wrong name (/dev/xen/eventchn rather than evtchn)
    * uses a hard-coded minor number, even though this dynamically
      depends on what other misc devices are in the kernel

Remove all this code and just rely on the system to create the device.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
2010-06-24 12:45:32 +01:00
Ian Jackson e41d0dba09 libxl: support reset file on sysfs
Recent kernels have a reset file on sysfs per PCI device, to allow PCI
device reset from userspace.
This patch adds support to libxl for resetting PCI devices using the
reset file on sysfs, in case the do_flr file is not preset.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-06-23 17:05:31 +01:00
Ian Jackson caaaad749a libxl: make libxl_wait_for_device_model clearer
at the moment libxl_wait_for_device_model waits on a xenstore watch
before checking the current value of the xenstore node, that might
contain already the value the function was looking for.

This patch changes libxl_wait_for_device_model so that it checks the
value of the xenstore node first, then waits for the watch.

xenstore watch automatically fire one time when you install them for
this exact same purpose, so the previous code is not wrong, but this
version is clearer.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-06-23 17:04:26 +01:00
Ian Jackson e724c3fa88 prompt user to start xencommons first if it is not running.
Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
2010-06-23 17:01:35 +01:00
Ian Jackson b418a191ab python/xc: [PATCH 3/3] add flask capabilities in python xc bindings
The flask library is small, and putting everything in libxenctrl make
relying on flask functionalities in libxl easier.

libflask is left for compatibility purpose, but should be considered
deprecated, and remove in the near future. all flask_ symbols are now
xc_flask_ symbols in libxenctrl.

Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-06-22 16:37:53 +01:00
Ian Jackson 285ffaa941 libxc: [PATCH 2/3] remove some duplicated code: helper add/del functions
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-06-22 16:37:13 +01:00
Ian Jackson 5404a18af7 libxc: [PATCH 1/3] merge libflask into libxenctrl
The flask library is small, and putting everything in libxenctrl make
relying on flask functionalities in libxl easier.

libflask is left for compatibility purpose, but should be considered
deprecated, and remove in the near future. all flask_ symbols are now
xc_flask_ symbols in libxenctrl.

Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-06-22 16:36:04 +01:00
Ian Jackson 7b76ecc628 init.d: Fix xencommons init script chkconfig configuration
Fix the xencommons init script chkconfig configuration since the
priority was missing here and chkconfig was complaining about invalid
chkconfig script so I added both start and stop priorities to the
chkconfig line and it was working fine, the script was successfully
added to chkconfig when using `chkconfig --add xencommons` and
management using the chkconfig utility was now possible.

Tested on RHEL-5 Server with Xen-4.1-unstable installed, running on
PVops kernel 2.6.32.15 and it was working fine.

Signed-off-by: Michal Novotny <minovotn@redhat.com>
2010-06-22 16:22:30 +01:00
Stefano Stabellini 919dd38585 Merge 2010-06-22 16:09:59 +01:00
Ian Jackson c1acfe560b Check "mac" address sooner in device_create function, before doing device_add.
In XendDomainInfo.py device_create function, when device type is
"vif", it has a paragraph to check the validity of "mac"
address. Before checking validity, device_add has been done. But after
checking validity, if the mac address is invlid, it raises VmError and
exits directly without doing clean work like removing the device item
from config info. This will cause that the incorrect mac address is
saved into VM Config file and VM fails to restart. If check "mac"
validity before doing device_add, there will be no problem.

Signed-off-by Chunyan Liu <CYLiu@novell.com>
2010-06-22 16:07:00 +01:00
Stefano Stabellini 8cde53d099 this patch implements few missing options in xl so that it can be
used as a replacement of xm in xendomains:

- dryrun and quiet, long options to xl create;

- l, option to xl list.

printf_info is now used to print the configuration of the running VMs so
the output has been reformatted to be similar to the output of xm list -l.

There is still one command used in xendomains that is not implemented in
xl and not covered by this patch: xm shutdown. However a patch has been
sent to the list in the past and we are expecting a new version of it
soon.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-06-22 16:05:56 +01:00
Stefano Stabellini 14d8a83b62 this patch adds support for xl in xendomains: if xm list fails all the
following commands are issued using xl instead.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-06-22 16:05:30 +01:00
Ian Jackson b9ae83b6e2 python/xc: do not crash xend if /proc/xen/privcmd cannot be opened
If /proc/xen/privcmd cannot be opened,
start xend occurs Segmentation fault.
Add check to fix it.

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
2010-06-22 16:00:08 +01:00
Ian Jackson 6f4e9be827 If xenfs is compiled as a module, now cannot complete
'service xencommons start', mount xenfs directly can fix it,
it can trigger modprobe xenfs.

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
2010-06-22 15:39:42 +01:00
Keir Fraser c814a49b06 Revert 21641:2e5844e17d6f "xencommons: modprobe xenfs if it not be loaded"
Nacked by Jeremy Fitzhardinge and Ian Jackson.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-21 18:37:34 +01:00
Keir Fraser 411e8c2fef Revert 21640:05e127771b86 "libxc: Fix Segmentation fault of xend"
Nacked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-21 18:36:39 +01:00
Keir Fraser e862bdf68f xl: fix command truncation
Fix the truncation code so that it always accepts an exact match,
even when one command is a prefix of another one.   This fixes,
e.g., "xl list"

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-06-21 18:35:10 +01:00
Keir Fraser df992155c8 xend: fix "xm list hangs"
If a command hold domains_lock, "xm list" would hang for waiting for
the lock. Such as creating many VMs at a script (such as 20), command
of "xm list" could hang for long time(10 mins).  I think domains_lock
here only protect update().  So, we shouldn't do update before command
of "list" really get this lock, but xm do need show the domain's
information quickly. In this patch, if command couldn't get the
domains_lock after 20 times trying, "xm list" would show the
information of VMs without update().

Signed-off-by: James Song (Wei) <jsong@novell.com>
2010-06-21 09:58:17 +01:00
Keir Fraser 0ca1bba0a6 xencommons: modprobe xenfs if it not be loaded
If xenfs is compiled as a module, now cannot complete
'service xencommons start', modprobe xenfs can fix it.

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
2010-06-21 09:57:10 +01:00
Keir Fraser ff4cc39490 libxc: Fix Segmentation fault of xend
If /proc/xen/privcmd cannot be opened,
start xend occurs Segmentation fault.
Add check to fix it.

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
2010-06-21 09:55:12 +01:00
Keir Fraser d3e1e67d8a xl: tidy up around global '-v' option
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-06-18 14:09:29 +01:00
Keir Fraser f20cacf6dc xl: allow truncation of xl subcommands
for those of us who are used to typing "xm cr foo"

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-06-18 14:09:14 +01:00
Keir Fraser 20ad53b196 ia64: Fix xc_save error reporting
This is the patch for error reporting on ia64 that has a special
handling in comparison with i386/x86_64 platforms. This is pretty
straight-forward just to fail on "cannot map mfn page" message instead
of continue since the memory is not being correctly mapped using the
xc_map_foreign_range() function.

From: Michal Novotny <minovotn@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-18 14:08:57 +01:00
Keir Fraser fee4ddc4c2 libxl: give reasons for ctx init failures
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-06-18 14:07:42 +01:00