aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* libxc, tmem: Fix build after fd2e5008c2e0Keir Fraser2010-09-132-4/+4
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tmem (tools): move to new ABI version to handle long object-idsKeir Fraser2010-09-132-10/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a great deal of discussion and review with linux kernel developers, it appears there are "next-generation" filesystems (such as btrfs, xfs, Lustre) that will not be able to use tmem due to an ABI limitation... a field that represents a unique file identifier is 64-bits in the tmem ABI and may need to be as large as 192-bits. So to support these guest filesystems, the tmem ABI must be revised, from "v0" to "v1". I *think* it is still the case that tmem is experimental and is not used anywhere yet in production. The tmem ABI is designed to support multiple revisions, so the Xen tmem implementation could be updated to handle both v0 and v1. However this is a bit messy and would require data structures for both v0 and v1 to appear in public Xen header files. I am inclined to update the Xen tmem implementation to only support v1 and gracefully fail v0. This would result in only a performance loss (as if tmem were disabled) for newly launched tmem-v0-enabled guests, but live-migration between old tmem-v0 Xen and new tmem-v1 Xen machines would fail, and saved tmem-v0 guests will not be able to be restored on a tmem-v1 Xen machine. I would plan to update both pre-4.0.2 and unstable (future 4.1) to only support v1. I believe these restrictions are reasonable at this point in the tmem lifecycle, though they may not be reasonable in the near future; should the tmem ABI need to be revised from v1 to v2, I understand backwards compatibility will be required. Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
* tools/xenstore: libxenstore: fix threading bug which cause xend startup hangIan Jackson2010-09-101-10/+34
| | | | | | | | | | | | | | | | | | | | | | If a multithreaded caller creates a thread which calls xs_read_watch, before it has set any watches with xs_watch, the thread in xs_read_watch will enter read_message and sit reading the xenstored fd without the appropriate locks held. Other threads can then concurrently read the xenstored fd, which naturally does not work very well. Symptoms of this bug which I have been able to reproduce include failure of xend startup to finish, due to a deadlock; results could also include reading corrupted data from xenstore. In this patch we arrange for xs_read_watch to always rely on the reader thread created by xs_watch. If no watches have been set, then xs_read_watch will block until one has been. If the library is compiled non-threaded xs_read_watch unconditionally does the reading in the current thread. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* oxenstored: when reading / read automatically the root node.Vincent Hanquez2010-09-101-1/+6
| | | | Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
* xl: Fix adding additional config cmdline parametersAndre Przywara2010-09-101-9/+5
| | | | | | | | | | When checking the size of the buffer we hold for additional config parameters passed on the command line we should take the size of the to-be-added string into account. While at it, rework the implementation to be cleaner and safer. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: fix adding configuration parameters on command lineAndre Przywara2010-09-101-8/+6
| | | | | | | | | | Since we read the text file as is from the disk, there is no trailing \0 at the end terminating the C string. Therefore we must not use strcat to this buffer. Also we need to allocate space for the trailing zero byte. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: don't leak a lot of memory in forked process in domain_createGianni Tedesco2010-09-101-1/+1
| | | | | | | | | A goto statement skips over freeing data structures for no good reason. It's not a real issue since the next step is to exit() but this cleans up output of valgrind so that other leaks and errors can be spotted. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: don't leak gc pointers to caller's structs; prevent double freeGianni Tedesco2010-09-101-2/+5
| | | | | | | | | | | | libxl_build_device_model uses a pointer in a caller supplied data structure to synthesize a vif-name if one is not supplied. This is bad juju because the caller may want to free this pointer but by the time it get's a chance the gc has already done so. Switch to using a local variable for this pointer and avoid a double-free in the domain create path. Gianni Tedesco <gianni.tedesco@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: fix double free of domain namesGianni Tedesco2010-09-101-1/+1
| | | | | | | Assigning malloc'd variables from one structure to another when both of them are free'd via destructors is a bad idea. Let's use a strdup. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
* xl: remove another string literal from config structIan Campbell2010-09-101-1/+1
| | | | | | | | | | Broken by 22124:098790dd9327 "xl: use xlu_cfg_replace_string in a few more places" [ Identical patch submitted by both Ian C and Gianni ] Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: use xlu_cfg_replace_string in a few more places.Ian Campbell2010-09-091-12/+6
| | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* libxl, xl: don't free string literals in config structureGianni Tedesco2010-09-093-20/+24
| | | | | | | | | | | | | | | | The function init_dm_info() is initialising some strings from literals. This is bad juju because when the destructor is called we cannot know if the string literal was overridden with a strdup()'d value. Therefore strdup values in the initialiser then introduce and use the function libxlu_cfg_replace_string() which free's whatever is set before strdupping the new value on top of it. The rule for the new call should be clear due to const vs. non-const arguments - changing the behaviour of libxlu_cfg_get_string() would cause more complexity than it saves. [ fixed up for stray ! sign -iwj ] Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: move hvm_build_set_params to libxl_dom.c [part 2]Ian Campbell2010-09-081-62/+0
| | | | | | | | | | It is an internal function with only one caller. [ This is the 2nd half of bd331cd1e704, which should have deleted tools/libxl/xenguest.c, which deletion I accidentally dropped -iwj ] Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: Use libxl__ namespace for internal typesIan Campbell2010-09-0813-172/+172
| | | | | | | | | | | | | | It's not clear that the namespace rules described in libxl.h are intended to apply to internal types but I don't see why not. sed -i -e 's/\<libxl_device\>/libxl__device/g' tools/libxl/*.[ch] sed -i -e 's/\<libxl_device_kinds\>/libxl__device_kinds/g' tools/libxl/*.[ch] sed -i -e 's/\<libxl_gc\>/libxl__gc/g' tools/libxl/*.[ch] sed -i -e 's/\<libxl_gc_owner\>/libxl__gc_owner/g' tools/libxl/*.[ch] sed -i -e 's/\<libxl_spawn_starting\>/libxl__spawn_starting/g' tools/libxl/*.[ch] Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: move hvm_build_set_params to libxl_dom.cIan Campbell2010-09-083-7/+43
| | | | | | | It is an internal function with only one caller. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: Ensure all _hidden functions use libxl__ prefix (manual part)Ian Campbell2010-09-0811-264/+264
| | | | | | | | | | | | | | | | | | | | | | | | | This patch covers the remaining functions identified by: rgrep _hidden tools/libxl/*.h | grep -v libxl__ sed -i -e 's/XL_LOG/LIBXL__LOG/g' tools/libxl/*.[ch] sed -i -e 's/xl_log/libxl__log/g' tools/libxl/*.[ch] sed -i -e 's/\(build_\(pre\|post\|pv\|hvm\)\)/libxl__\1/g' tools/libxl/*.[ch] sed -i -e 's/is_hvm/libxl__domain_is_hvm/g' tools/libxl/*.[ch] sed -i -e 's/get_shutdown_reason/libxl__domain_shutdown_reason/g' tools/libxl/*.[ch] sed -i -e 's/restore_common/libxl__domain_restore_common/g' tools/libxl/*.[ch] sed -i -e 's/core_suspend/libxl__domain_suspend_common/g' tools/libxl/*.[ch] sed -i -e 's/save_device_model/libxl__domain_save_device_model/g' tools/libxl/*.[ch] sed -i -e 's/device_disk_backend_type_of_phystype/libxl__device_disk_backend_type_of_phystype/g' tools/libxl/*.[ch] sed -i -e 's/\<libxl_blktap_enabled\>/libxl__blktap_enabled/g' tools/libxl/*.[ch] sed -i -e 's/\<libxl_blktap_devpath\>/libxl__blktap_devpath/g' tools/libxl/*.[ch] Add _hidden to libxl__blktap_enabled and libxl__blktap_devpath Inline dominfo_libxl__domain_shutdown_reason(info) into libxl__domain_shutdown_reason, its only caller. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: Ensure all _hidden functions use libxl__ prefix (autogenerated patch)Ian Campbell2010-09-0813-644/+644
| | | | | | | | | | | | | | | | | | | | | | | | This patch covers all those which could be trivially converted automatically. sed -n -e 's/_hidden.*[ \*]libxl_\([^_][^()]*\)(.*/\1/pg' tools/libxl/*.h | \ while read i ; do \ sed -i -e "s/libxl_$i/libxl__$i/g" tools/libxl/*.[ch]; \ done sed -n -e 's/_hidden.*_libxl_\([^_][^()]*\)(.*/\1/pg' tools/libxl/*.h | \ while read i ; do \ sed -i -e "s/_libxl_$i/libxl__$i/g" tools/libxl/*.[ch]; \ done Check that diffstat includes libxl but not xl. Fixup tools/libxl/xl_cmdimpl.c which used libxl_device_del instead of libxl_device_disk_del in a printf. (Patch runes re-run by Ian Jackson to refresh against tip libxl.) Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: correct calls to dolog() (aka LOG)Ian Jackson2010-09-081-2/+5
| | | | | | | | | | dolog, for which LOG is a macro wrapper, was lacking the printf format attribute. Add it, and fix the two problems revealed. (Original patch for one of the occurrences from Ian Campbell.) Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: do not return to caller from monitoring daemonIan Campbell2010-09-081-0/+8
| | | | | | | | | | | | The parent process will have returned to the caller and done whatever is necessary. The daemon should not return otherwise it will repeat this work. In the case of the migration receiver this causes it to try and take part in the migration protocol long after the sender+parent process have completed it, leading to confusing error messages (although strangely not much actual damange). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/debugger/gdbsx: use MTF flag for HVM guests for single stepMukesh Rathor2010-09-071-0/+14
| | | | | | | | | | The attached patch first tries the MTF flag for HVM guest single step, reverting to manually setting the TF flag if MTF fails. Tested on 4.0.1. Compile tested on unstable. Signed-off-by: mukesh.rathor@oracle.com Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* remus: remove remus kernel extensions (now distributed with pvops kernel)Brendan Cully2010-09-0725-5754/+0
| | | | | | | | | Note that 2.6.18 doesn't have these extensions, so as of this patch Remus no longer supports 2.6.18 dom0 (2.6.18 is still the preferred kernel for domU, since it contains the suspend event channel). Signed-off-by: Brendan Cully <brendan@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* remus: use plug qdisc for network buffering instead of queueBrendan Cully2010-09-072-16/+16
| | | | | | | It was renamed in the pvops [kernel] tree. Signed-off-by: Brendan Cully <brendan@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: restore: reset I/O fd to flags to back to state caller passed usIan Campbell2010-09-071-7/+11
| | | | | | | | | | | | | | | In particular this causes us to turn O_NONBLOCK back off if we set it. The caller may continue to use the fd for it's own protocol needs and may not be prepared to have it become non-blocking. This probably only effects Remus now after my previous patch to signal the last checkpoint, since a regular migration will no longer set the fd non-blocking. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Brendan Cully <brendan@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: provide notification of final checkpoint to restore endIan Campbell2010-09-073-4/+38
| | | | | | | | | | | | | | | | | | When the restore code sees this notification it will restore the currently in-progress checkpoint when it completes. This allows the restore end to finish up without waiting for a spurious timeout on the receive fd and thereby avoids unnecessary error logging in the case of a successful migration or restore. In the normal migration or restore case the first checkpoint is always the last. For a rolling checkpoint (such as Remus) the notification is currently unused but could be used in the future for example to provide a controlled failover for reasons other than error Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Brendan Cully <brendan@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: Fix NULL deref in libxl_ctx_free()Gianni Tedesco2010-09-071-1/+1
| | | | | | | | | xc_interface_close() will de-reference a NULL handle, check for this condition in libxl_ctx_free() before calling. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: ship libxl_uuid.h, to unbreak out-of-tree libxl buildsGianni Tedesco2010-09-071-1/+1
| | | | | | | | | Broken since introduction of libxl_uuid.h which defines a core API data-type but it's not installed in include directory. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: include domain id in userdata path.Ian Campbell2010-09-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | The userdata is specific to a particular incarnation of a domain and the patch is therefor required to be unique to each incarnation. If the user has explicitly configured a UUID in their domain configuration then the path is no longer unique since 22124:22366e13f76d "xl: randomly generate UUIDs" which (correctly) caused the uuid domain configuration option to be obeyed. If userdata is not unique to each incarnation of a domain then localhost live migration is broken because the target is created (and writes its userdata) before the sender destroys the domain (and deletes its userdata). Strictly speaking I think the UUID is unnecessary but it is perhaps helpful to people looking in the userdata directory, for debugging etc. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl+xend: use correct paths for PV console when running bootloaderIan Campbell2010-09-073-3/+3
| | | | | | | | | Makes "{xl,xm} create -c GUEST" work again with pygrub in interactive mode which was broken by 21994:2e08ec0028e4 Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: do not run bootloader on restore.Ian Campbell2010-09-031-4/+6
| | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: use a switch statement in xc_domain_restore.c::pagebuf_get_one.Ian Campbell2010-09-031-14/+29
| | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: logger: add newline when progress is completeIan Campbell2010-09-032-2/+7
| | | | | | | | | | | | | | | | | | | | | In xc_domain_save ensure that we signal completion at the end of each batch. This ensures that the next logged line starts on a new line. e.g. instead of: Savefile contains xl domain config xc: Saving memory: iter 3 (last sent 0 skipped 0): 0/32768 0%migration target: Transfer complete, requesting permission to start domain. migration sender: Target has acknowledged transfer. what is desired is: Savefile contains xl domain config xc: Saving memory: iter 0 (last sent 0 skipped 0): 32768/32768 100% xc: Saving memory: iter 1 (last sent 32576 skipped 192): 32768/32768 100% xc: Saving memory: iter 2 (last sent 217 skipped 0): 32768/32768 100% xc: Saving memory: iter 3 (last sent 0 skipped 0): 32768/32768 100% migration target: Transfer complete, requesting permission to start domain. migration sender: Target has acknowledged transfer. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: document save/restore protocolIan Campbell2010-09-033-19/+130
| | | | | | | | | | Reverse engineered from the code, likely contains inaccuracies but I think provides a base to work from. Add symbolic names for the minus-flags. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xend: reserve vtd_mem on guest restoreMiroslav Rezanina2010-09-031-1/+9
| | | | | | | | | | | | | There's need for free vtd_mem more memory for guest with xen-unstable c/s 17529. This memory is freed when guest is created, but is not freed when guest is restored. So restore guest fails due to not enough of memory for guest. Following patch uses same calculation of memory to free in guest restore as is in guest creation. Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: do not continue in the child and exec xenconsole in the parentStefano Stabellini2010-09-021-37/+31
| | | | | | | | | | | | Currenctly console_autoconnect spawns a child that continues building the domain while the parent exec's xenconsole; this patch inverts the logic. As a consequence autoconnect_console needs to be called twice: once for pv guests at the beginning and once for hvm guests at the end. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: do not log lack of guest support for suspend event channelIan Campbell2010-09-021-3/+1
| | | | | | | | Implementation of the suspend event channel is completely optional for a guest so do not log this normal occurrence. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: support console autoconnect on restoreIan Campbell2010-09-021-2/+6
| | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* xl: randomly generate UUIDsGianni Tedesco2010-09-027-32/+173
| | | | | | | | | | | | | This patch converts xl to randomly generate UUID's rather than using a dodgy time-seeded PRNG. I have ignored various suggestions so far on auto-generation of MAC addresses and left it as a topic for a future patch to solve. In other words the behaviour stays the same it's just using a true random source. This patch also implements the "uuid" config file parameter in xl. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Acked-By: Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: parse the maxvcpus config file parameterStefano Stabellini2010-09-021-0/+3
| | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/xenstore: correctly handle errors from read_messageDaniel De Graaf2010-09-011-17/+31
| | | | | | | | | | | | | | | | | | The return value of read_message needs to be checked in order to avoid waiting forever for a message if there is an error on the communication channel with xenstore. Currently, this is only checked if USE_PTHREAD is defined (by checking for read thread exit), and that path is prone to deadlock if request_mutex is held while waiting. Since the failure of read_message leaves the socket in an undefined state, close the socket and force all threads waiting on a read to return. This also fixes xs_read_watch in the case where a read thread is not running (in particular, this will happen if !USE_PTHREAD) by having it read from the communication channel in the same way as read_reply. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: builtin list types should be pass-by-referenceIan Campbell2010-08-314-6/+10
| | | | | | | | | | This makes all _destroy functions consistent wrt freeing the actual reference passed in. Previously we were relying on the reference contained within the type itself which worked but was semantically a little confusing. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: correct indentation of _libxl_types.cIan Campbell2010-08-311-1/+1
| | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: correctly free Reference types in autogenerated destroy functionsIan Campbell2010-08-311-5/+7
| | | | | | | | References types should be recursively destroyed and then the actual reference itself should be destroyed. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: drop libxl_set_vcpucount, introduce libxl_set_vcpuonlineStefano Stabellini2010-08-313-17/+22
| | | | | | | | | | | | This patch renames libxl_set_vcpucount to libxl_set_vcpuonline and modifies the function to take a bitmap of online/offline vcpus as parameter. It also introduces a xenstore transaction to write the available cpus to xenstore. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: run libxlgentypes with $(PYTHON)Christoph Egger2010-08-311-1/+1
| | | | | | | | | | | Attached patch fixes libxl build that broke in changeset 22032:fa82b0540e8c. It is common these days to use $(PYTHON) in the build system. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Missing include in libxl_pci.cDaniel De Graaf2010-08-301-0/+1
| | | | | | | | | Missing include in tools/libxl/libxl_pci.c: lstat() call requires <sys/stat.h>. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* libxl: fix xenstore connection when run in domUDaniel De Graaf2010-08-301-0/+2
| | | | | | | | | | When used in a domain other than the one running xenstore, libxl_ctx_init will fail to connect even when xenstore is actually available. Add a call to xs_domain_open to handle this case. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* # HG changeset patchIan Campbell2010-08-2473-336/+1444
| | | | | | | | | | | | | | | | | | | | | | | | | # User Ian Campbell <ian.campbell@citrix.com> # Date 1282671421 -3600 # Node ID d1dd29a470ef1b9d2c77478a123326036dfe90bb # Parent d7a4adad9c328decbd384d87b23001aea8951b86 tools/libxc, tools/libelf: Relicense under LGPL v2.1 Relicense these two libraries under LGPL v2.1 only except where individual files already included the "or later" provision. Copyright holders have been contacted by Stephen Spector and have all agreed this change. Removed tools/libxc/ia64/aclinux.h since it appeared to be unused. There is a separate, more up to date, copy in xen/include/acpi/platform/aclinux.h which does appear to be used. Clarify the license of MiniOS privcmd.h under the same terms as other tools/include/xen-sys headers. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stephen Spector <stephen.spector@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: remove xc_ptraceIan Campbell2010-08-245-1379/+0
| | | | | | | | | | | | | | It has been unused since 21732:eb34666befcc. There was no response to my RFC regarding its removal http://marc.info/?l=xen-devel&m=128170404422822 and unfortunately we have not been able to trace down all copyright holders of this code for the purposes of relicensing libxc. The code will be available in mercurial if we need to retrieve it in the future. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/xenpaging: call pageout policy function in xenpaging_evict_pageOlaf Hering2010-08-241-2/+2
| | | | | | | | | | | Notify policy about a page that was just paged out to disk. Up to now the code called the opposite function, which clears the (xenpaging internal) reference bit, instead of setting it and marking the page as gone. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Patrick Colp <pjcolp@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl: treat sub-command main function like a regular C main() functionIan Campbell2010-08-241-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | Currently xl passes the entire argc+argv to each subcommand and relies on the preservation of the global optind variable to ensure that the subcommand correctly handles argument parsing (e.g. accounting for "xl [command]" vs "xl -v [command]"). This requirement for individual sub-commands to parse arguments relative to optind is subtle and prone to being forgotten (or simply not expected). Several sub-commands have recently been broken in this way (now fixed). Therefore arrange that the argv+argc passed to the sub-commands looks like you would expect for a regular C main function and includes argv[0] equal to the command name with command specific arguments in argv[1] onwards. Since all sub-commands (currently) correctly obey the optind it is sufficient to reset it to 1 (as described in getopt(3)) in order to not break the sub-commands' own argument parsing. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>