- 25 5月, 2010 11 次提交
-
-
由 Chris Lalancette 提交于
Basic live migration was broken by the commit that added non-shared block support in two ways: 1) It added a virCheckFlags() to doNativeMigrate(). Besides the fact that typical usage of virCheckFlags() is in driver entry points, and doNativeMigrate() is not an entry point, it was missing important flags like VIR_MIGRATE_LIVE. Move the virCheckFlags to the top-level qemuDomainMigratePrepare2 and friends. 2) It also added a memory leak in qemuMonitorTextMigrate() by not freeing the memory used by virBufferContentAndReset(). This is fixed by storing the pointer in a temporary variable and freeing it at the end. With this patch in place, normal live migration works again. v3: Instead of the churn for virCheckFlagsUI and UL, instead always promote flags to an unsigned long and always use %lx for the fprintf. v2: Add back flags check, which required adding virCheckFlagsUI and virCheckFlagsUL Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Cole Robinson 提交于
Currently all host audio backends are disabled if a VM is using VNC, in favor of the QEMU VNC audio extension. Unfortunately no released VNC client supports this extension, so users have no way of getting audio to work if using VNC. Add a new config option in qemu.conf which allows changing libvirt's behavior, but keep the default intact. v2: Fix doc typos, change name to vnc_allow_host_audio
-
由 Cole Robinson 提交于
-
由 Chris Lalancette 提交于
Unfortunately the NWFilter functions were outside of the "extern C { ... }" declaration in include/libvirt/libvirt.h.in, which means that they couldn't be properly used with C++. Move them inside of the braces, which should fix the problem. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Stefan Berger 提交于
This patch adds documentation of the nwfilter subsystem of libvirt to the existing (web) docs.
-
由 Eric Blake 提交于
git shortlog $(git log -1 --format=%H AUTHORS).. | grep -v "^ " then add missing entries to AUTHORS. * AUTHORS: Update.
-
由 Alex Williamson 提交于
Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
由 Alex Williamson 提交于
The device path doesn't make use of guestAddr, so the memcpy corrupts the guest info struct. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
由 Daniel P. Berrange 提交于
The virDomainGetBlockInfo API allows query physical block extent and allocated block extent. These are normally the same value unless storing a special format like qcow2 inside a block device. In this scenario we can query QEMU to get the actual allocated extent. Since last time: - Return fatal error in text monitor - Only invoke monitor command for block devices - Fix error handling JSON code * src/qemu/qemu_driver.c: Fill in block aloction extent when VM is running * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h, src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Add API to query the highest block extent via info blockstats
-
由 Jim Meyering 提交于
* src/lxc/lxc_driver.c (lxcSetSchedulerParameters): Ensure that "->field" is "cpu_shares" before possibly giving a diagnostic about a type for a "cpu_shares" value. Also, virCgroupSetCpuShares could fail without evoking a diagnostic. Add one.
-
由 Chris Lalancette 提交于
Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
- 24 5月, 2010 3 次提交
-
-
由 Cole Robinson 提交于
Volume detection in the scsi backend was duplicating code already present in storage_backend.c. Let's drop the duplicate code. Also, change the shared function name to be less generic, and remove some error squashing in the other call site.
-
由 Cole Robinson 提交于
We were squashing error messages in a few cases. Recode to follow common ret = -1 convention. v2: Handle more error squashing issues further up in MakeNewVol and CreateVols. Use ret = -1 convention in MakeVols.
-
由 Jiri Denemark 提交于
The event is already generated and sent by qemudDomainObjStart, no need to do anything about here.
-
- 23 5月, 2010 2 次提交
-
-
由 Jim Meyering 提交于
Some diagnostics had a hard-coded "libvirtd: " prefix, some used "error: " and some used "argv[0]: ". Always use "argv[0]: ". * daemon/libvirtd.c (argv0): New global. (main): Set it. (version, usage): Remove argv0 parameter. Use global; update callers. (daemonForkIntoBackground): Use argv0:, not error:. (qemudWritePidFile): Start each diagnostic with argv0:. Suggested by Eric Blake.
-
由 Jim Meyering 提交于
* daemon/libvirtd.c (daemonForkIntoBackground, main): Mark strings for translation. (usage): Rework --help so that it is translatable, replacing each embedded, configuration-dependent, macro with an `%s'. libvirtd: don't ignore virInitialize failure * daemon/libvirtd.c (main): Diagnose virInitialize failure and exit nonzero.
-
- 22 5月, 2010 8 次提交
-
-
由 Eric Blake 提交于
* src/util/bitmap.h (includes): Placate cppi.
-
由 Eric Blake 提交于
Otherwise, './configure --prefix=/foo && make && ./configure --prefix=/bar && make' leaves the wrong files in libvirtd.init (/foo instead of /bar). * daemon/Makefile.am (libvirtd.init): Add dependency on config.status. Reported by Cole Robinson.
-
由 Matthias Bolte 提交于
Instead of distributing the individual files. Now it's less error prone and consistent with the rest of the data directories in the tests directory.
-
由 Cole Robinson 提交于
-
由 Jim Fehlig 提交于
The qemu driver contains a subtle race in the logic to find next available vnc port. Currently it iterates through all available ports and returns the first for which bind(2) succeeds. However it is possible that a previously issued port has not yet been bound by qemu, resulting in the same port used for a subsequent domain. This patch addresses the race by using a simple bitmap to "reserve" the ports allocated by libvirt. V2: - Put port bitmap in struct qemud_driver - Initialize bitmap in qemudStartup V3: - Check for failure of virBitmapGetBit - Additional check for port != -1 before calling virbitmapClearBit V4: - Check for failure of virBitmap{Set,Clear}Bit
-
由 Jim Fehlig 提交于
-
由 Jim Fehlig 提交于
V2: - Move bitmap impl to src/util/bitmap.[ch] - Use CHAR_BIT instead of explicit '8' - Use size_t instead of unsigned int - Fix calculation of bitmap size in virBitmapAlloc - Ensure bit is within range of map in the set, clear, and get operations - Use bool in virBitmapGetBit - Add virBitmapFree to free-like funcs in cfg.mk V3: - Check for overflow in virBitmapAlloc - Fix copy and paste bug in virBitmapAlloc - Use size_t in prototypes - Add ATTRIBUTE_NONNULL in prototypes where appropriate and remove NULL check from impl V4: - Add ATTRIBUTE_RETURN_CHECK in prototypes where appropriate.
-
由 Cole Robinson 提交于
/etc/sysconfig/libvirtd has a few environment variables for configuring libvirt SDL audio. The libvirtd process doesn't see these, however, because they are never exported. Let's export the variables after sourcing the sysconfig script. There is another problem here that the commented out values in the sysconfig script are not neccessarily the actual defaults, we are qemus mercy here. Not sure how to solve that.
-
- 21 5月, 2010 16 次提交
-
-
由 Chris Lalancette 提交于
We shouldn't be checking validity in domain_conf, since it can be used by multiple different hosts and hypervisors. Remove the check completely. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Jiri Denemark 提交于
Example output during shutdown: Running guests on default URI: console, rhel6-1, rhel5-64 Running guests on lxc:/// URI: lxc-shell Running guests on xen:/// URI: error: no hypervisor driver available for xen:/// error: failed to connect to the hypervisor Running guests on vbox+tcp://orkuz/system URI: no running guests. Suspending guests on default URI... Suspending console: done Suspending rhel6-1: done Suspending rhel5-64: done Suspending guests on lxc:/// URI... Suspending lxc-shell: error: Failed to save domain 9cba8bfb-56f4-6589-2d12-8a58c886dd3b state error: this function is not supported by the hypervisor: virDomainManagedSave Note, the "Suspending $guest: " shows progress during the suspend phase if domjobinfo gives meaningful output. Example output during boot: Resuming guests on default URI... Resuming guest rhel6-1: done Resuming guest rhel5-64: done Resuming guest console: done Resuming guests on lxc:/// URI... Resuming guest lxc-shell: already active Configuration used for generating the examples above: URIS='default lxc:/// xen:/// vbox+tcp://orkuz/system' The script uses /var/lib/libvirt/libvirt-guests files to note all active guest it should try to resume on next boot. It's content looks like: default 7f8b9d93-30e1-f0b9-47a7-cb408482654b 085b4c95-5da2-e8e1-712f-6ea6a4156af2 fb4d8360-5305-df3a-2da1-07d682891b8c lxc:/// 9cba8bfb-56f4-6589-2d12-8a58c886dd3b
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
We need a common internal function for starting managed domains to be used during autostart. This patch factors out relevant code from qemudDomainStart into qemudDomainObjStart and makes it use the refactored code for domain restore instead of calling qemudDomainRestore API directly.
-
由 Jiri Denemark 提交于
We need to be able to assign new def to an existing virDomainObj which is already locked. This patch factors out the relevant code from virDomainAssignDef into virDomainObjAssignDef.
-
由 Jiri Denemark 提交于
We need to be able to restore a domain which we already locked and started a job for it without undoing these steps. This patch factors out internals of qemudDomainRestore into separate functions which work for locked objects.
-
由 Jim Meyering 提交于
* po/POTFILES.in: Add 3 files.
-
由 Jim Meyering 提交于
* cfg.mk (sc_prohibit_gettext_markup): Just like VIR_WARN*.
-
由 Jim Meyering 提交于
Run this command: git grep -l VIR_DEBUG|xargs perl -pi -e \ 's/(VIR_DEBUG0?)\s*\(_\((".*?")\)/$1($2/'
-
由 Jim Meyering 提交于
* cfg.mk (msg_gen_function): Add VIR_ERROR and VIR_ERROR0, so that sc_libvirt_unmarked_diagnostics will check them, too.
-
由 Jim Meyering 提交于
These changes avoid false-positive syntax-check failure, and also make the resulting diagnostics more comprehensible.
-
由 Jim Meyering 提交于
-
由 Jim Meyering 提交于
Handle concatenated strings manually.
-
由 Jim Meyering 提交于
Run this: git grep -l 'VIR_ERROR\s*("'|xargs perl -pi -e \ 's/(VIR_ERROR)\s*\((".*?"),/$1(_($2),/'
-
由 Jim Meyering 提交于
Run this: git grep -l 'VIR_ERROR0\s*("'|xargs perl -pi -e \ 's/(VIR_ERROR0)\s*\((".*?")\)/$1(_($2))/'
-
由 Jim Meyering 提交于
Change VIR_ERROR("%s", "..." to VIR_ERROR0("..." and Change VIR_ERROR("%s", _("...") to VIR_ERROR0(_("...") Use this command: git grep -E -l 'VIR_ERROR\("%s", (_\()?"'|xargs perl -pi -e \ 's/VIR_ERROR\("%s", (_\()?"/VIR_ERROR0($1"/'
-