提交 22a5ebe4 编写于 作者: D Daniel Veillard

Release of libvirt-0.7.0

* configure.in NEWS docs/* libvirt.spec.in include/libvirt/libvirt.h:
  Release of 0.7.0
* po/*.po*: updated and regenerated the localization pool
上级 8b54ef41
......@@ -5,6 +5,260 @@
http://libvirt.org/news.html
0.7.0: Aug 5 2009:
- New features: Interface implementation based on netcf (Laine Stump,
Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana),
Initial VMWare ESX driver (Matthias Bolte), Add support for VBox
3 and event callbacks on vbox (Pritesh Kothari), First version
of the Power Hypervisor driver (Eduardo Otubo), Run QEMU guests
as an unprivileged user (Daniel P. Berrange), Support cgroups
in QEMU driver (Daniel P. Berrange), QEmu hotplug NIC support
(Mark McLoughlin), Storage cloning for LVM and Disk backends(Cole
Robinson), Switching to GIT (Jim Meyering)
- Documentation: Typo and comment fixes (Aron Griffis),
Fix virCapabilitiesDefaultGuestMachine documentation. (Chris
Lalancette), ESX Scheduler documentation and cleanup (Matthias
Bolte), Update the java bindings page (Bryan Kearney), Added
Matthias Bolte to AUTHORS list (Daniel Veillard), doc: clone+build
instructions (Jim Meyering), docs: say that the old repository
is deprecated... (Jim Meyering), document tcp listen and raw
wire option (Guido Günther), Fix docs and code disagreements
for character devices. (Cole Robinson), Fix documentation of
virStoragePoolUndefine return (Thomas Treutner), Fix gitweb link on
download page. (Cole Robinson), update download informations after
switch to git (Daniel Veillard), Update links to bugzilla (Garry
Dolley), Update the links for RHEL libvirt bugzillas (Garry Dolley)
- Portability: Xen Inotify support needs sys/inotify.h
(Maximilian Wilhelm), Workaround for broken GCC in Debian Etch
(Maximilian Wilhelm), LXC driver requires sched.h and unshare()
(Maximilian Wilhelm), Configure UML support only if sys/inotify.h
present (Maximilian Wilhelm), Fix libcurl automatic check and ESX
status (Maximilian Wilhelm), Enable ESX driver build on Mingw32
(Daniel P. Berrange), Fix build on mingw32 by disabling netcf
(Daniel P. Berrange), Reduce glusterfs dependency to 2.0.1
(Mark McLoughlin), Desactivate phyp build and indicate libssh
builreq (Daniel Veillard), Fix misc Win32 compile warnings
(Daniel P. Berrange), Rename variable for compilation in Mingw32
(end) (Laine Stump), Rename variable for compilation in Mingw32
(Laine Stump), rpm spec cleanup and split off client only package
(Daniel Veillard)
- Bug fixes: Add uniqueness checking for LXC define/create methods
(Daniel P. Berrange), Fix removal of transient VMs when LXC aborts
(Daniel P. Berrange), Don't try to activate cgroups if not present
for LXC (Daniel P. Berrange), Refresh /etc/xen if inotify wasn't
(Cole Robinson), Don't loose id on xen domain redefine (Cole
Robinson), Fix memory leak in openvz driver (Daniel P. Berrange),
Protected against potential crash scenarios (Daniel P. Berrange),
Fix crash when attempting to shutdown inactive QEMU vm (Daniel
P. Berrange), Fix PCIe FLR detection (Mark McLoughlin), Set perms
on /var/lib/libvirt/images to 0711 (Mark McLoughlin), Fix problem
writing QEMU pidfile (Daniel P. Berrange), Fix vcpupin on Xen
problem (Henrik Persson), Fix RPM upgrades from F11 to F12 (Daniel
P. Berrange), Fix deadlock in remote driver domain events (Daniel
P. Berrange), qemu: fix monitor socket reconnection (Ryota Ozaki),
Fix polkit/netcf disabling on older fedoras (Mark McLoughlin),
Fix crashes in Xen capabilities code (Daniel P. Berrange),
Always add -no-kvm and -no-kqemu, for qemu domains (Jim Paris),
Avoid raising an internal error (Paolo Bonzini), Don't allow NULL
paths for BlockStats and InterfaceStats (Cole Robinson), Don't
leak vm-monitorpath on re-connect (Mark McLoughlin), Don't restore
labels on shared/readonly disks (Daniel P. Berrange), Ensure spawned
children have a stderr/out set to /dev/null if requested (Daniel
P. Berrange), Ensure test:/// URIs get routed to the non-privileged
libvirtd (Daniel P. Berrange), fix another failing "make distcheck"
(qemuhelptest) (Jim Meyering), Fix an uninitialized variable
in Unix socket open (Jun Koi), Fix configure flags in spec file
(Daniel Veillard), Fix error reporting for security driver over
remote protocol (Daniel P. Berrange), fix failing "make distcheck"
(Jim Meyering), Fix free of unitialized data upon PCI open fail
(Daniel P. Berrange), Fix informations about previous git server
(Daniel Veillard), Fix memory leaks in esxDomainDumpXML (Matthias
Bolte), Fix multiple memory leaks in virsh (Laine Stump), Fix PCI
device hotplug/unplug with newer QEMU (Daniel P. Berrange), Fix
problem with QEMU monitor welcome prompt confusing libvirt after a
libvirtd daemon restart with active guests (Daniel P. Berrange),
Fix python examples to use read-write conn (Dan Kenigsberg), Fix
reconnect bug for VBox (Pritesh Kothari), Fix SELinux denial during
hotplug (Daniel P. Berrange), Fix typo in check for glusterfs format
pools (Daniel P. Berrange), Fix typo in storage cloning (Daniel
P. Berrange), qemu: Check driver is initialized up front, to avoid
segfault. (Cole Robinson), qemu: Try multiple times to open unix
monitor socket (Cole Robinson), Release conn lock before reporting
errors (end) (Laine Stump), Release conn lock before reporting
interface errors (Laine Stump), Remove the network backend if NIC
hotplug fails (Mark McLoughlin), Set specific flags for glusterfs
fs mounts (Harshavardhana), storage: disk: Default to 'ext2' for
new volumes. (Cole Robinson), storage: disk: Fix parthelper '-g'
option handling. (Cole Robinson), storage: disk: Fix segfault
creating volume without target path (Cole Robinson), storage:
Fix deadlock when cloning across pools. (Cole Robinson), Update
modified mac address in place in virGetInterface (Laine Stump)
- Improvements: Add an allocation unit when calling qemu-img
(Ryota Ozaki), Improve diagnostics when pidfile writing fails
(Daniel P. Berrange), Disable IPv6 on virtual networks (Daniel
P. Berrange), Allow dnsmasq to provide DNS without DHCP (Daniel
P. Berrange), Fix an initialization problem in previous patch
(Aron Griffis), Remove MAX_TAP_ID and let kernel do numbering
(Aron Griffis), Kernel command line support for UML (Ron Yorston),
Activate the interface drivers, and cleanups (Daniel Veillard),
Add an error code for conflicting mac addresses (Laine Stump),
Add a test interface driver (Laine Stump), Add canonical machine
name to capabilities output (Mark McLoughlin), add cd and pwd
commands to virsh (Paolo Bonzini), Add checks for some NIC hotplug
related features added in qemu-0.10.0 (Mark McLoughlin), Add
domain autostart for LXC driver (Daniel P. Berrange), Add domain
events support to LXC driver (Daniel P. Berrange), Add interface
object list manipulation functions (Laine Stump), Add internal XML
parsing/formatting flag (Mark McLoughlin), Add netcf XML schemas
and test data (Daniel Veillard), Add new net filesystem glusterfs
(Harshavardhana), Add NIC and hostnet names to domain state XML
(Mark McLoughlin), Add no_verify query parameter to ESX URIs
(Matthias Bolte), Add SCM_RIGHTS support to QEMU monitor code
(Mark McLoughlin), Add support for attaching network/bridge NICs
in QEMU driver (Mark McLoughlin), add support for netcf XML import
and export (Daniel Veillard), Add support for network device detach
(Mark McLoughlin), Add support for physical memory access for QEmu
(Nguyen Anh Quynh), Add support for VBox 3 and event callbacks on
vbox (Pritesh Kothari), Add the monitor type to the domain state
XML (Mark McLoughlin), Add virCapsGuestMachine structure (Mark
McLoughlin), Add virsh commands for network interface management
(Laine Stump), Allow autostart of libvirtd to be disabled with
LIBVIRT_AUTOSTART=0 (Daniel P. Berrange), Allow leading dots in VMX
config entry names (Matthias Bolte), Assign names to qemu NICs and
network backends (Mark McLoughlin), Basic qemu NIC hotplug support
(Mark McLoughlin), build: adjust aclocal's search patch to prefer
gnulib's m4 files. (Jim Meyering), build: automatically rerun
./bootstrap when needed (Jim Meyering), build: make autogen.sh use
autoreconf -if (Jim Meyering), build: submodule machinery now works
also when no tag is reachable (Jim Meyering), Canonicalize qemu
machine types (Mark McLoughlin), Change code generator to give async
event messages their own postfix (Daniel P. Berrange), Change the
way client event loop watches are managed (Daniel P. Berrange),
Decode incoming request header before invoking dispatch code
(Daniel P. Berrange), Define an API for registering incoming message
dispatch filters (Daniel P. Berrange), ESX driver accept VI API
version 4.0 (Matthias Bolte), Fill in vCPU - pCPU current mapping,
and vCPU cpuTime for QEMU (Daniel P. Berrange), generate ChangeLog
from git logs into distribution tarball (Jim Meyering), Implement
qemu dump capabilities (Paolo Bonzini), Implement schedular
tunables API using cgroups (Daniel P. Berrange), Implement the
new virinterface functions (Laine Stump), Make cgroups a little
more efficient (Daniel P. Berrange), Make it easier to debug tests
running programs (Daniel P. Berrange), Make qemuBuildHostNetStr()
take tapfd as a string (Mark McLoughlin), Make QEMU cgroups use
configurable (Daniel P. Berrange), Make qemuCmdFlags available in
qemudDomainAttachDevice() (Mark McLoughlin), Move queuing of RPC
replies into dispatch code (Daniel P. Berrange), Move vnet_hdr logic
into qemudNetworkIfaceConnect() and export it (Mark McLoughlin),
Netcf based interface driver implementation (Laine Stump), netcf
XML validation and input and output tests (Daniel Veillard), Only
probe qemu for machine types when binary changes (Mark McLoughlin),
Place every QEMU guest in a private cgroup (Daniel P. Berrange),
Probe for QEMU machine types (Mark McLoughlin), Probe QEMU directly
for machine aliases if not found in capabilties (Mark McLoughlin),
Public API for new virInterface functions (Laine Stump), python:
Raise exceptions if virDomain*Stats fail. (Cole Robinson), Refactor
cgroups to allow a group per driver to be managed directly (Daniel
P. Berrange), Re-factor pci_add reply parsing and parse domain/bus
numbers (Mark McLoughlin), Retain disk PCI address across libvirtd
restarts (Mark McLoughlin), Retain PCI address from NIC attach
(Mark McLoughlin), Run QEMU guests as an unprivileged user (Daniel
P. Berrange), Separate code for encoding outgoing remote message
headers (Daniel P. Berrange), Split generic RPC message dispatch
code out from remote protocol API handlers (Daniel P. Berrange),
Split out code for handling incoming method call messages
(Daniel P. Berrange), storage: Break out actual raw cloning to
separate function. (Cole Robinson), storage: cleanup: do away with
'createFile' (Cole Robinson), storage: disk: Use capacity, not
allocation, when creating volume. (Cole Robinson), storage: Don't
try sparse detection if writing to block device. (Cole Robinson),
storage: Implement 'CreateBlockFrom' helper. (Cole Robinson),
storage: Implement CreateVolFrom for logical and disk backend. (Cole
Robinson), storage: Move most of the FS creation functions to
common backend. (Cole Robinson), storage: Refactor FS backend
'create' function choosing. (Cole Robinson), Store the interface
vlan number in the domain state (Mark McLoughlin), Support video
element for QEMU guests (Daniel P. Berrange), Support video tag
for defining VGA card properties (Daniel P. Berrange), Switch to
using a unix socket for the qemu monitor (Mark McLoughlin), test:
Generate net interface names when assigning XML. (Cole Robinson),
test: Implement BlockStats and InterfaceStats (Cole Robinson),
Use cgroups for block device whitelisting in QEMU guests (Daniel
P. Berrange), Use enums for cgroup controller types / labels
(Daniel P. Berrange), Use sendmsg() on QEMU monitor socket (Mark
McLoughlin), Use virDomainChrTypeFromString() instead of open
coding (Mark McLoughlin), Use virFileReadAll/virFileWriteStr for
key cgroup read/write helpers (Daniel P. Berrange), virGetinterface
matching of MAC and interface name (Laine Stump)
- Cleanups: Fix configure checks from previous commits (Daniel
P. Berrange), Avoid a warning if compiling without inotify
(Daniel P. Berrange), Remove a stray semicolon (Daniel Veillard),
Extend the ESX URL to habdle ports and GSX (Matthias Bolte), Fix
escaping of 8-bit high characters (Daniel P. Berrange), , Remove
ATTRIBUTE_UNUSED from flags to qemudDomainMigratePerform. (Chris
Lalancette), Add a comment about setting errors after
qemudStartVMDaemon(). (Chris Lalancette), Fix an erroneous
debug error to KVM; it should read QEMU/KVM. (Chris Lalancette),
Remove a stray semicolon in qemudDomainMigratePrepare2. (Chris
Lalancette), Convert a few stray users of free() in libvirt.c
to VIR_FREE(). (Chris Lalancette), Use virGetHostname instead
of gethostname. (Chris Lalancette), Fix up a minor indentation
issue with virDomainMigratePrepare. (Chris Lalancette), Fix up a
silly typo in apibuild.py. (Chris Lalancette), Avoid warning when
compiling without IFF_VNET_HDR (Maximilian Wilhelm), Capilize
libvirt-client summary (Mark McLoughlin), Move ldconfig calls
to libvirt-client %post/%postun (Mark McLoughlin), Convert NEWS
to UTF-8 (Mark McLoughlin), Fix trailing whitespace in NEWS
(Mark McLoughlin), No need to build require both python-devel
and python (Mark McLoughlin), Remove executable perms from
/etc/sysconfig/libvirtd (Mark McLoughlin), Use a %postun -p for
one line scriptlet (Mark McLoughlin), Don't explicitly require
libxml2 (Mark McLoughlin), Fix some unowned directories (Mark
McLoughlin), Kill qemu BuildRequires (Mark McLoughlin), Enable
netcf by default (Mark McLoughlin), Default to with_polkit
(Mark McLoughlin), Make vbox support configurable (Mark
McLoughlin), Build with --without-capng if capng is disabled
(Mark McLoughlin), BuildRequires libcap-ng-devel not capng-devel
(Mark McLoughlin), Drop curl host check when using ESX without
check (Shahar Klein), Fix typo in xen capabilities code (Daniel
P. Berrange), Add bare format string to printf-derivatives troubles
(Laine Stump), Add phyp files to POTFILES, to make syntax-check
happy. (Cole Robinson), avoid a make distcheck failure: distribute
docs/schemas/interface.rng (Jim Meyering), avoid a make distcheck
failure: distribute tests/interfaceschemadata/ (Jim Meyering), avoid
a "make syntax-check" failure (Jim Meyering), build: do not emit
a trailing blank line into VC'd file, NEWS (Jim Meyering), build:
update from gnulib, for latest maint.mk (Jim Meyering), Clean up
error handling in qemudDomainAttachNetDevice() (Mark McLoughlin),
Cleanup qemu binary detection logic in qemudCapsInitGuest() (Mark
McLoughlin), Commit newly generated docs, after changes from
commit 2348cf. (Cole Robinson), Factor qemuBuildHostNetStr()
out from qemuBuildCommandLine() (Mark McLoughlin), Factor
qemuBuildNicStr() out from qemuBuildCommandLine() (Mark McLoughlin),
Factor qemudMonitorSend() out of qemudMonitorCommandExtra() (Mark
McLoughlin), Fix cgroup compile warnings (Daniel P. Berrange),
Fix misc build problems due to new drivers (Daniel P. Berrange),
Fix wierd build problems due to autopoint overwriting gnulib m4
(Daniel P. Berrange), Makefile.cfg: Rename to... (Jim Meyering),
make .gnulib a submodule (Jim Meyering), make "make syntax-check"
consistent with "git diff --check" (Jim Meyering), Minor qemu
monitor coding style fixes (Mark McLoughlin), Prepare to use
maint.mk from gnulib (Jim Meyering), Refactor incoming message
handling to prepare for data stream support (Daniel P. Berrange),
Refactor message sending to allow code reuse for data streams
(Daniel P. Berrange), remove all .cvsignore files (Jim Meyering),
remove all trailing blank lines (Jim Meyering), Remove some unused
variables and cut long lines (Daniel Veillard), Remove trailing
blank lines (Daniel Veillard), Rename a bunch of internal methods
to clarify their meaning (Daniel P. Berrange), Rename 'direction'
to 'type' in remote_message_header (Daniel P. Berrange), Report
the object name on lookup error (Daniel Veillard), Simplify remote
driver error reporting (Daniel P. Berrange), skip some of gnulib's
new rules (Jim Meyering), use automake-1.11's silent-rules
option, when possible (Jim Meyering), use gnumakefile and
maintainer-makefile modules from gnulib (Jim Meyering)
0.6.5: Jul 3 2009:
- New features: create storage columes on disk backend (Henrik Persson),
drop of capabilities based on libcap-ng when possible (Daniel
......
dnl Process this file with autoconf to produce a configure script.
AC_INIT([libvirt], [0.6.5])
AC_INIT([libvirt], [0.7.0])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AM_CONFIG_HEADER([config.h])
......
此差异已折叠。
......@@ -110,6 +110,8 @@ void <a href="#virConnResetLastError">virConnResetLastError</a> (<a href="libvi
<a name="VIR_FROM_VBOX">VIR_FROM_VBOX</a> = 25 /* Error from VirtualBox driver */
<a name="VIR_FROM_INTERFACE">VIR_FROM_INTERFACE</a> = 26 /* Error when operating on an interface */
<a name="VIR_FROM_ONE">VIR_FROM_ONE</a> = 27 /* Error from OpenNebula driver */
<a name="VIR_FROM_ESX">VIR_FROM_ESX</a> = 28 /* Error from ESX driver */
<a name="VIR_FROM_PHYP">VIR_FROM_PHYP</a> = 29 /* Error from IBM power hypervisor */
};
</pre><p/>
</div>
......@@ -182,6 +184,7 @@ void <a href="#virConnResetLastError">virConnResetLastError</a> (<a href="libvi
<a name="VIR_WAR_NO_INTERFACE">VIR_WAR_NO_INTERFACE</a> = 56 /* failed to start interface driver */
<a name="VIR_ERR_NO_INTERFACE">VIR_ERR_NO_INTERFACE</a> = 57 /* interface driver not running */
<a name="VIR_ERR_INVALID_INTERFACE">VIR_ERR_INVALID_INTERFACE</a> = 58 /* invalid interface object */
<a name="VIR_ERR_MULTIPLE_INTERFACES">VIR_ERR_MULTIPLE_INTERFACES</a> = 59 /* more than one matching interface found */
};
</pre><p/>
</div>
......
此差异已折叠。
此差异已折叠。
......@@ -51,6 +51,7 @@
<exports symbol='VIR_CRED_USERNAME' type='enum'/>
<exports symbol='VIR_DOMAIN_EVENT_RESUMED_UNPAUSED' type='enum'/>
<exports symbol='VIR_DOMAIN_RUNNING' type='enum'/>
<exports symbol='VIR_STORAGE_VOL_DELETE_ZEROED' type='enum'/>
<exports symbol='VIR_EVENT_HANDLE_ERROR' type='enum'/>
<exports symbol='VIR_DOMAIN_NOSTATE' type='enum'/>
<exports symbol='VIR_DOMAIN_SHUTOFF' type='enum'/>
......@@ -60,7 +61,7 @@
<exports symbol='VIR_STORAGE_POOL_BUILD_NEW' type='enum'/>
<exports symbol='VIR_DOMAIN_EVENT_SUSPENDED_PAUSED' type='enum'/>
<exports symbol='VIR_STORAGE_POOL_DELETE_NORMAL' type='enum'/>
<exports symbol='VIR_STORAGE_VOL_DELETE_ZEROED' type='enum'/>
<exports symbol='VIR_MEMORY_PHYSICAL' type='enum'/>
<exports symbol='VIR_DOMAIN_SCHED_FIELD_INT' type='enum'/>
<exports symbol='VIR_DOMAIN_SCHED_FIELD_ULLONG' type='enum'/>
<exports symbol='VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN' type='enum'/>
......@@ -181,7 +182,7 @@
<exports symbol='virDomainGetSchedulerParameters' type='function'/>
<exports symbol='virDomainLookupByUUIDString' type='function'/>
<exports symbol='virConnectNumOfDefinedNetworks' type='function'/>
<exports symbol='virConnectNumOfDomains' type='function'/>
<exports symbol='virConnectListDefinedInterfaces' type='function'/>
<exports symbol='virNetworkGetUUID' type='function'/>
<exports symbol='virInterfaceGetXMLDesc' type='function'/>
<exports symbol='virStoragePoolGetConnect' type='function'/>
......@@ -233,6 +234,7 @@
<exports symbol='virNetworkSetAutostart' type='function'/>
<exports symbol='virDomainGetMaxMemory' type='function'/>
<exports symbol='virStoragePoolFree' type='function'/>
<exports symbol='virConnectNumOfDefinedInterfaces' type='function'/>
<exports symbol='virFreeCallback' type='function'/>
<exports symbol='virNetworkDefineXML' type='function'/>
<exports symbol='virNodeDeviceListCaps' type='function'/>
......@@ -273,6 +275,7 @@
<exports symbol='virConnectRef' type='function'/>
<exports symbol='virDomainGetUUID' type='function'/>
<exports symbol='virNetworkCreateXML' type='function'/>
<exports symbol='virNetworkUndefine' type='function'/>
<exports symbol='virConnectDomainEventRegister' type='function'/>
<exports symbol='virDomainGetVcpus' type='function'/>
<exports symbol='virNodeDeviceLookupByName' type='function'/>
......@@ -280,7 +283,7 @@
<exports symbol='virDomainResume' type='function'/>
<exports symbol='virInterfaceRef' type='function'/>
<exports symbol='virInterfaceGetMACString' type='function'/>
<exports symbol='virNetworkRef' type='function'/>
<exports symbol='virConnectNumOfDomains' type='function'/>
<exports symbol='virStoragePoolRefresh' type='function'/>
<exports symbol='virConnectNumOfDefinedDomains' type='function'/>
<exports symbol='virStorageVolCreateXMLFrom' type='function'/>
......@@ -304,7 +307,7 @@
<exports symbol='virNetworkFree' type='function'/>
<exports symbol='virStoragePoolLookupByUUID' type='function'/>
<exports symbol='virEventAddHandleFunc' type='function'/>
<exports symbol='virNetworkUndefine' type='function'/>
<exports symbol='virNetworkRef' type='function'/>
<exports symbol='virConnectListDefinedStoragePools' type='function'/>
<exports symbol='virEventTimeoutCallback' type='function'/>
<exports symbol='virInterfaceFree' type='function'/>
......@@ -367,9 +370,10 @@
<exports symbol='VIR_ERR_READ_FAILED' type='enum'/>
<exports symbol='VIR_FROM_INTERFACE' type='enum'/>
<exports symbol='VIR_ERR_NO_CONNECT' type='enum'/>
<exports symbol='VIR_ERR_CALL_FAILED' type='enum'/>
<exports symbol='VIR_FROM_ESX' type='enum'/>
<exports symbol='VIR_FROM_VBOX' type='enum'/>
<exports symbol='VIR_FROM_TEST' type='enum'/>
<exports symbol='VIR_ERR_MULTIPLE_INTERFACES' type='enum'/>
<exports symbol='VIR_ERR_NO_DEVICE' type='enum'/>
<exports symbol='VIR_FROM_SEXPR' type='enum'/>
<exports symbol='VIR_ERR_INVALID_MAC' type='enum'/>
......@@ -390,6 +394,7 @@
<exports symbol='VIR_ERR_CONF_SYNTAX' type='enum'/>
<exports symbol='VIR_ERR_NO_SUPPORT' type='enum'/>
<exports symbol='VIR_ERR_NO_SECURITY_MODEL' type='enum'/>
<exports symbol='VIR_FROM_PHYP' type='enum'/>
<exports symbol='VIR_ERR_SEXPR_SERIAL' type='enum'/>
<exports symbol='VIR_FROM_XENSTORE' type='enum'/>
<exports symbol='VIR_ERR_OPEN_FAILED' type='enum'/>
......@@ -416,6 +421,7 @@
<exports symbol='VIR_ERR_RPC' type='enum'/>
<exports symbol='VIR_ERR_WARNING' type='enum'/>
<exports symbol='VIR_ERR_INVALID_ARG' type='enum'/>
<exports symbol='VIR_ERR_CALL_FAILED' type='enum'/>
<exports symbol='VIR_ERR_ERROR' type='enum'/>
<exports symbol='VIR_WAR_NO_INTERFACE' type='enum'/>
<exports symbol='VIR_ERR_DOM_EXIST' type='enum'/>
......@@ -577,12 +583,13 @@
<enum name='VIR_ERR_INVALID_ARG' file='virterror' value='8' type='virErrorNumber' info='invalid function argument'/>
<enum name='VIR_ERR_INVALID_CONN' file='virterror' value='6' type='virErrorNumber' info='invalid connection object'/>
<enum name='VIR_ERR_INVALID_DOMAIN' file='virterror' value='7' type='virErrorNumber' info='invalid domain object'/>
<enum name='VIR_ERR_INVALID_INTERFACE' file='virterror' value='58' type='virErrorNumber' info=' invalid interface object'/>
<enum name='VIR_ERR_INVALID_INTERFACE' file='virterror' value='58' type='virErrorNumber' info='invalid interface object'/>
<enum name='VIR_ERR_INVALID_MAC' file='virterror' value='44' type='virErrorNumber' info='invalid MAC address'/>
<enum name='VIR_ERR_INVALID_NETWORK' file='virterror' value='36' type='virErrorNumber' info='invalid network object'/>
<enum name='VIR_ERR_INVALID_NODE_DEVICE' file='virterror' value='52' type='virErrorNumber' info='invalid node device object'/>
<enum name='VIR_ERR_INVALID_STORAGE_POOL' file='virterror' value='46' type='virErrorNumber' info='invalid storage pool object'/>
<enum name='VIR_ERR_INVALID_STORAGE_VOL' file='virterror' value='47' type='virErrorNumber' info='invalid storage vol object'/>
<enum name='VIR_ERR_MULTIPLE_INTERFACES' file='virterror' value='59' type='virErrorNumber' info=' more than one matching interface found'/>
<enum name='VIR_ERR_NETWORK_EXIST' file='virterror' value='37' type='virErrorNumber' info='the network already exist'/>
<enum name='VIR_ERR_NONE' file='virterror' value='0' type='virErrorLevel'/>
<enum name='VIR_ERR_NO_CONNECT' file='virterror' value='5' type='virErrorNumber' info='can&apos;t connect to hypervisor'/>
......@@ -629,14 +636,16 @@
<enum name='VIR_FROM_CONF' file='virterror' value='9' type='virErrorDomain' info='Error in the configuration file handling'/>
<enum name='VIR_FROM_DOM' file='virterror' value='6' type='virErrorDomain' info='Error when operating on a domain'/>
<enum name='VIR_FROM_DOMAIN' file='virterror' value='20' type='virErrorDomain' info='Error from domain config'/>
<enum name='VIR_FROM_ESX' file='virterror' value='28' type='virErrorDomain' info='Error from ESX driver'/>
<enum name='VIR_FROM_INTERFACE' file='virterror' value='26' type='virErrorDomain' info='Error when operating on an interface'/>
<enum name='VIR_FROM_LXC' file='virterror' value='17' type='virErrorDomain' info='Error from Linux Container driver'/>
<enum name='VIR_FROM_NET' file='virterror' value='11' type='virErrorDomain' info='Error when operating on a network'/>
<enum name='VIR_FROM_NETWORK' file='virterror' value='19' type='virErrorDomain' info='Error from network config'/>
<enum name='VIR_FROM_NODEDEV' file='virterror' value='22' type='virErrorDomain' info='Error from node device monitor'/>
<enum name='VIR_FROM_NONE' file='virterror' value='0' type='virErrorDomain'/>
<enum name='VIR_FROM_ONE' file='virterror' value='27' type='virErrorDomain' info=' Error from OpenNebula driver'/>
<enum name='VIR_FROM_ONE' file='virterror' value='27' type='virErrorDomain' info='Error from OpenNebula driver'/>
<enum name='VIR_FROM_OPENVZ' file='virterror' value='14' type='virErrorDomain' info='Error from OpenVZ driver'/>
<enum name='VIR_FROM_PHYP' file='virterror' value='29' type='virErrorDomain' info=' Error from IBM power hypervisor'/>
<enum name='VIR_FROM_PROXY' file='virterror' value='8' type='virErrorDomain' info='Error in the proxy code'/>
<enum name='VIR_FROM_QEMU' file='virterror' value='10' type='virErrorDomain' info='Error at the QEMU daemon'/>
<enum name='VIR_FROM_REMOTE' file='virterror' value='13' type='virErrorDomain' info='Error from remote driver'/>
......@@ -654,7 +663,8 @@
<enum name='VIR_FROM_XENXM' file='virterror' value='15' type='virErrorDomain' info='Error at Xen XM layer'/>
<enum name='VIR_FROM_XEN_INOTIFY' file='virterror' value='23' type='virErrorDomain' info='Error from xen inotify layer'/>
<enum name='VIR_FROM_XML' file='virterror' value='5' type='virErrorDomain' info='Error in the XML code'/>
<enum name='VIR_MEMORY_VIRTUAL' file='libvirt' value='1' type='virDomainMemoryFlags' info=' addresses are virtual addresses'/>
<enum name='VIR_MEMORY_PHYSICAL' file='libvirt' value='2' type='virDomainMemoryFlags' info=' addresses are physical addresses'/>
<enum name='VIR_MEMORY_VIRTUAL' file='libvirt' value='1' type='virDomainMemoryFlags' info='addresses are virtual addresses'/>
<enum name='VIR_MIGRATE_LIVE' file='libvirt' value='1' type='virDomainMigrateFlags' info=' live migration'/>
<enum name='VIR_STORAGE_POOL_BUILDING' file='libvirt' value='1' type='virStoragePoolState' info='Initializing pool, not available'/>
<enum name='VIR_STORAGE_POOL_BUILD_NEW' file='libvirt' value='0' type='virStoragePoolBuildFlags' info='Regular build from scratch'/>
......@@ -966,6 +976,13 @@ see note above'/>
<arg name='names' type='char ** const' info='pointer to an array to store the names'/>
<arg name='maxnames' type='int' info='size of the array'/>
</function>
<function name='virConnectListDefinedInterfaces' file='libvirt' module='libvirt'>
<info>Collect the list of defined (inactive) physical host interfaces, and store their names in @names.</info>
<return type='int' info='the number of interfaces found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='names' type='char ** const' info='array to collect the list of names of interfaces'/>
<arg name='maxnames' type='int' info='size of @names'/>
</function>
<function name='virConnectListDefinedNetworks' file='libvirt' module='libvirt'>
<info>list the inactive networks, stores the pointers to the names in @names</info>
<return type='int' info='the number of names provided in the array or -1 in case of error'/>
......@@ -988,7 +1005,7 @@ see note above'/>
<arg name='maxids' type='int' info='size of @ids'/>
</function>
<function name='virConnectListInterfaces' file='libvirt' module='libvirt'>
<info>Collect the list of physical host interfaces, and store their names in @names</info>
<info>Collect the list of active physical host interfaces, and store their names in @names</info>
<return type='int' info='the number of interfaces found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='names' type='char ** const' info='array to collect the list of names of interfaces'/>
......@@ -1013,6 +1030,11 @@ see note above'/>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectNumOfDefinedInterfaces' file='libvirt' module='libvirt'>
<info>Provides the number of defined (inactive) interfaces on the physical host.</info>
<return type='int' info='the number of defined interface found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectNumOfDefinedNetworks' file='libvirt' module='libvirt'>
<info>Provides the number of inactive networks.</info>
<return type='int' info='the number of networks found or -1 in case of error'/>
......@@ -1029,8 +1051,8 @@ see note above'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectNumOfInterfaces' file='libvirt' module='libvirt'>
<info>Provides the number of interfaces on the physical host.</info>
<return type='int' info='the number of interface found or -1 in case of error'/>
<info>Provides the number of active interfaces on the physical host.</info>
<return type='int' info='the number of active interfaces found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectNumOfNetworks' file='libvirt' module='libvirt'>
......@@ -1045,18 +1067,18 @@ see note above'/>
</function>
<function name='virConnectOpen' file='libvirt' module='libvirt'>
<info>This function should be called first to get a connection to the Hypervisor and xen store</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error URIs are documented at http://libvirt.org/uri.html'/>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error If @name is NULL then probing will be done to determine a suitable default driver to activate. This involves trying each hypervisor in turn until one successfully opens. If the LIBVIRT_DEFAULT_URI environment variable is set, then it will be used in preference to probing for a driver. If connecting to an unprivileged hypervisor driver which requires the libvirtd daemon to be active, it will automatically be launched if not already running. This can be prevented by setting the environment variable LIBVIRT_AUTOSTART=0 URIs are documented at http://libvirt.org/uri.html'/>
<arg name='name' type='const char *' info='URI of the hypervisor'/>
</function>
<function name='virConnectOpenAuth' file='libvirt' module='libvirt'>
<info>This function should be called first to get a connection to the Hypervisor. If necessary, authentication will be performed fetching credentials via the callback</info>
<info>This function should be called first to get a connection to the Hypervisor. If necessary, authentication will be performed fetching credentials via the callback See virConnectOpen for notes about environment variables which can have an effect on opening drivers</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error URIs are documented at http://libvirt.org/uri.html'/>
<arg name='name' type='const char *' info='URI of the hypervisor'/>
<arg name='auth' type='virConnectAuthPtr' info='Authenticate callback parameters'/>
<arg name='flags' type='int' info='Open flags'/>
</function>
<function name='virConnectOpenReadOnly' file='libvirt' module='libvirt'>
<info>This function should be called first to get a restricted connection to the library functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</info>
<info>This function should be called first to get a restricted connection to the library functionalities. The set of APIs usable are then restricted on the available methods to control the domains. See virConnectOpen for notes about environment variables which can have an effect on opening drivers</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error URIs are documented at http://libvirt.org/uri.html'/>
<arg name='name' type='const char *' info='URI of the hypervisor'/>
</function>
......@@ -1896,7 +1918,7 @@ see note above'/>
</function>
<function name='virStoragePoolUndefine' file='libvirt' module='libvirt'>
<info>Undefine an inactive storage pool</info>
<return type='int' info='a virStoragePoolPtr object, or NULL if creation failed'/>
<return type='int' info='0 on success, -1 on failure'/>
<arg name='pool' type='virStoragePoolPtr' info='pointer to storage pool'/>
</function>
<function name='virStorageVolCreateXML' file='libvirt' module='libvirt'>
......
此差异已折叠。
......@@ -76,6 +76,253 @@
<p>Here is the list of official releases, however since it is early on in the
development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.7.0: Aug 5 2009</h3>
<ul><li>New features: Interface implementation based on netcf (Laine Stump,
Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana),
Initial VMWare ESX driver (Matthias Bolte), Add support for VBox
3 and event callbacks on vbox (Pritesh Kothari), First version
of the Power Hypervisor driver (Eduardo Otubo), Run QEMU guests
as an unprivileged user (Daniel P. Berrange), Support cgroups
in QEMU driver (Daniel P. Berrange), QEmu hotplug NIC support
(Mark McLoughlin), Storage cloning for LVM and Disk backends(Cole
Robinson), Switching to GIT (Jim Meyering)</li><li>Documentation: Typo and comment fixes (Aron Griffis),
Fix virCapabilitiesDefaultGuestMachine documentation. (Chris
Lalancette), ESX Scheduler documentation and cleanup (Matthias
Bolte), Update the java bindings page (Bryan Kearney), Added
Matthias Bolte to AUTHORS list (Daniel Veillard), doc: clone+build
instructions (Jim Meyering), docs: say that the old repository
is deprecated... (Jim Meyering), document tcp listen and raw
wire option (Guido Gnther), Fix docs and code disagreements
for character devices. (Cole Robinson), Fix documentation of
virStoragePoolUndefine return (Thomas Treutner), Fix gitweb link on
download page. (Cole Robinson), update download informations after
switch to git (Daniel Veillard), Update links to bugzilla (Garry
Dolley), Update the links for RHEL libvirt bugzillas (Garry Dolley)</li><li>Portability: Xen Inotify support needs sys/inotify.h
(Maximilian Wilhelm), Workaround for broken GCC in Debian Etch
(Maximilian Wilhelm), LXC driver requires sched.h and unshare()
(Maximilian Wilhelm), Configure UML support only if sys/inotify.h
present (Maximilian Wilhelm), Fix libcurl automatic check and ESX
status (Maximilian Wilhelm), Enable ESX driver build on Mingw32
(Daniel P. Berrange), Fix build on mingw32 by disabling netcf
(Daniel P. Berrange), Reduce glusterfs dependency to 2.0.1
(Mark McLoughlin), Desactivate phyp build and indicate libssh
builreq (Daniel Veillard), Fix misc Win32 compile warnings
(Daniel P. Berrange), Rename variable for compilation in Mingw32
(end) (Laine Stump), Rename variable for compilation in Mingw32
(Laine Stump), rpm spec cleanup and split off client only package
(Daniel Veillard)</li><li>Bug fixes: Add uniqueness checking for LXC define/create methods
(Daniel P. Berrange), Fix removal of transient VMs when LXC aborts
(Daniel P. Berrange), Don't try to activate cgroups if not present
for LXC (Daniel P. Berrange), Refresh /etc/xen if inotify wasn't
(Cole Robinson), Don't loose id on xen domain redefine (Cole
Robinson), Fix memory leak in openvz driver (Daniel P. Berrange),
Protected against potential crash scenarios (Daniel P. Berrange),
Fix crash when attempting to shutdown inactive QEMU vm (Daniel
P. Berrange), Fix PCIe FLR detection (Mark McLoughlin), Set perms
on /var/lib/libvirt/images to 0711 (Mark McLoughlin), Fix problem
writing QEMU pidfile (Daniel P. Berrange), Fix vcpupin on Xen
problem (Henrik Persson), Fix RPM upgrades from F11 to F12 (Daniel
P. Berrange), Fix deadlock in remote driver domain events (Daniel
P. Berrange), qemu: fix monitor socket reconnection (Ryota Ozaki),
Fix polkit/netcf disabling on older fedoras (Mark McLoughlin),
Fix crashes in Xen capabilities code (Daniel P. Berrange),
Always add -no-kvm and -no-kqemu, for qemu domains (Jim Paris),
Avoid raising an internal error (Paolo Bonzini), Don't allow NULL
paths for BlockStats and InterfaceStats (Cole Robinson), Don't
leak vm-monitorpath on re-connect (Mark McLoughlin), Don't restore
labels on shared/readonly disks (Daniel P. Berrange), Ensure spawned
children have a stderr/out set to /dev/null if requested (Daniel
P. Berrange), Ensure test:/// URIs get routed to the non-privileged
libvirtd (Daniel P. Berrange), fix another failing "make distcheck"
(qemuhelptest) (Jim Meyering), Fix an uninitialized variable
in Unix socket open (Jun Koi), Fix configure flags in spec file
(Daniel Veillard), Fix error reporting for security driver over
remote protocol (Daniel P. Berrange), fix failing "make distcheck"
(Jim Meyering), Fix free of unitialized data upon PCI open fail
(Daniel P. Berrange), Fix informations about previous git server
(Daniel Veillard), Fix memory leaks in esxDomainDumpXML (Matthias
Bolte), Fix multiple memory leaks in virsh (Laine Stump), Fix PCI
device hotplug/unplug with newer QEMU (Daniel P. Berrange), Fix
problem with QEMU monitor welcome prompt confusing libvirt after a
libvirtd daemon restart with active guests (Daniel P. Berrange),
Fix python examples to use read-write conn (Dan Kenigsberg), Fix
reconnect bug for VBox (Pritesh Kothari), Fix SELinux denial during
hotplug (Daniel P. Berrange), Fix typo in check for glusterfs format
pools (Daniel P. Berrange), Fix typo in storage cloning (Daniel
P. Berrange), qemu: Check driver is initialized up front, to avoid
segfault. (Cole Robinson), qemu: Try multiple times to open unix
monitor socket (Cole Robinson), Release conn lock before reporting
errors (end) (Laine Stump), Release conn lock before reporting
interface errors (Laine Stump), Remove the network backend if NIC
hotplug fails (Mark McLoughlin), Set specific flags for glusterfs
fs mounts (Harshavardhana), storage: disk: Default to 'ext2' for
new volumes. (Cole Robinson), storage: disk: Fix parthelper '-g'
option handling. (Cole Robinson), storage: disk: Fix segfault
creating volume without target path (Cole Robinson), storage:
Fix deadlock when cloning across pools. (Cole Robinson), Update
modified mac address in place in virGetInterface (Laine Stump)</li><li>Improvements: Add an allocation unit when calling qemu-img
(Ryota Ozaki), Improve diagnostics when pidfile writing fails
(Daniel P. Berrange), Disable IPv6 on virtual networks (Daniel
P. Berrange), Allow dnsmasq to provide DNS without DHCP (Daniel
P. Berrange), Fix an initialization problem in previous patch
(Aron Griffis), Remove MAX_TAP_ID and let kernel do numbering
(Aron Griffis), Kernel command line support for UML (Ron Yorston),
Activate the interface drivers, and cleanups (Daniel Veillard),
Add an error code for conflicting mac addresses (Laine Stump),
Add a test interface driver (Laine Stump), Add canonical machine
name to capabilities output (Mark McLoughlin), add cd and pwd
commands to virsh (Paolo Bonzini), Add checks for some NIC hotplug
related features added in qemu-0.10.0 (Mark McLoughlin), Add
domain autostart for LXC driver (Daniel P. Berrange), Add domain
events support to LXC driver (Daniel P. Berrange), Add interface
object list manipulation functions (Laine Stump), Add internal XML
parsing/formatting flag (Mark McLoughlin), Add netcf XML schemas
and test data (Daniel Veillard), Add new net filesystem glusterfs
(Harshavardhana), Add NIC and hostnet names to domain state XML
(Mark McLoughlin), Add no_verify query parameter to ESX URIs
(Matthias Bolte), Add SCM_RIGHTS support to QEMU monitor code
(Mark McLoughlin), Add support for attaching network/bridge NICs
in QEMU driver (Mark McLoughlin), add support for netcf XML import
and export (Daniel Veillard), Add support for network device detach
(Mark McLoughlin), Add support for physical memory access for QEmu
(Nguyen Anh Quynh), Add support for VBox 3 and event callbacks on
vbox (Pritesh Kothari), Add the monitor type to the domain state
XML (Mark McLoughlin), Add virCapsGuestMachine structure (Mark
McLoughlin), Add virsh commands for network interface management
(Laine Stump), Allow autostart of libvirtd to be disabled with
LIBVIRT_AUTOSTART=0 (Daniel P. Berrange), Allow leading dots in VMX
config entry names (Matthias Bolte), Assign names to qemu NICs and
network backends (Mark McLoughlin), Basic qemu NIC hotplug support
(Mark McLoughlin), build: adjust aclocal's search patch to prefer
gnulib's m4 files. (Jim Meyering), build: automatically rerun
./bootstrap when needed (Jim Meyering), build: make autogen.sh use
autoreconf -if (Jim Meyering), build: submodule machinery now works
also when no tag is reachable (Jim Meyering), Canonicalize qemu
machine types (Mark McLoughlin), Change code generator to give async
event messages their own postfix (Daniel P. Berrange), Change the
way client event loop watches are managed (Daniel P. Berrange),
Decode incoming request header before invoking dispatch code
(Daniel P. Berrange), Define an API for registering incoming message
dispatch filters (Daniel P. Berrange), ESX driver accept VI API
version 4.0 (Matthias Bolte), Fill in vCPU - pCPU current mapping,
and vCPU cpuTime for QEMU (Daniel P. Berrange), generate ChangeLog
from git logs into distribution tarball (Jim Meyering), Implement
qemu dump capabilities (Paolo Bonzini), Implement schedular
tunables API using cgroups (Daniel P. Berrange), Implement the
new virinterface functions (Laine Stump), Make cgroups a little
more efficient (Daniel P. Berrange), Make it easier to debug tests
running programs (Daniel P. Berrange), Make qemuBuildHostNetStr()
take tapfd as a string (Mark McLoughlin), Make QEMU cgroups use
configurable (Daniel P. Berrange), Make qemuCmdFlags available in
qemudDomainAttachDevice() (Mark McLoughlin), Move queuing of RPC
replies into dispatch code (Daniel P. Berrange), Move vnet_hdr logic
into qemudNetworkIfaceConnect() and export it (Mark McLoughlin),
Netcf based interface driver implementation (Laine Stump), netcf
XML validation and input and output tests (Daniel Veillard), Only
probe qemu for machine types when binary changes (Mark McLoughlin),
Place every QEMU guest in a private cgroup (Daniel P. Berrange),
Probe for QEMU machine types (Mark McLoughlin), Probe QEMU directly
for machine aliases if not found in capabilties (Mark McLoughlin),
Public API for new virInterface functions (Laine Stump), python:
Raise exceptions if virDomain*Stats fail. (Cole Robinson), Refactor
cgroups to allow a group per driver to be managed directly (Daniel
P. Berrange), Re-factor pci_add reply parsing and parse domain/bus
numbers (Mark McLoughlin), Retain disk PCI address across libvirtd
restarts (Mark McLoughlin), Retain PCI address from NIC attach
(Mark McLoughlin), Run QEMU guests as an unprivileged user (Daniel
P. Berrange), Separate code for encoding outgoing remote message
headers (Daniel P. Berrange), Split generic RPC message dispatch
code out from remote protocol API handlers (Daniel P. Berrange),
Split out code for handling incoming method call messages
(Daniel P. Berrange), storage: Break out actual raw cloning to
separate function. (Cole Robinson), storage: cleanup: do away with
'createFile' (Cole Robinson), storage: disk: Use capacity, not
allocation, when creating volume. (Cole Robinson), storage: Don't
try sparse detection if writing to block device. (Cole Robinson),
storage: Implement 'CreateBlockFrom' helper. (Cole Robinson),
storage: Implement CreateVolFrom for logical and disk backend. (Cole
Robinson), storage: Move most of the FS creation functions to
common backend. (Cole Robinson), storage: Refactor FS backend
'create' function choosing. (Cole Robinson), Store the interface
vlan number in the domain state (Mark McLoughlin), Support video
element for QEMU guests (Daniel P. Berrange), Support video tag
for defining VGA card properties (Daniel P. Berrange), Switch to
using a unix socket for the qemu monitor (Mark McLoughlin), test:
Generate net interface names when assigning XML. (Cole Robinson),
test: Implement BlockStats and InterfaceStats (Cole Robinson),
Use cgroups for block device whitelisting in QEMU guests (Daniel
P. Berrange), Use enums for cgroup controller types / labels
(Daniel P. Berrange), Use sendmsg() on QEMU monitor socket (Mark
McLoughlin), Use virDomainChrTypeFromString() instead of open
coding (Mark McLoughlin), Use virFileReadAll/virFileWriteStr for
key cgroup read/write helpers (Daniel P. Berrange), virGetinterface
matching of MAC and interface name (Laine Stump)</li><li>Cleanups: Fix configure checks from previous commits (Daniel
P. Berrange), Avoid a warning if compiling without inotify
(Daniel P. Berrange), Remove a stray semicolon (Daniel Veillard),
Extend the ESX URL to habdle ports and GSX (Matthias Bolte), Fix
escaping of 8-bit high characters (Daniel P. Berrange), , Remove
ATTRIBUTE_UNUSED from flags to qemudDomainMigratePerform. (Chris
Lalancette), Add a comment about setting errors after
qemudStartVMDaemon(). (Chris Lalancette), Fix an erroneous
debug error to KVM; it should read QEMU/KVM. (Chris Lalancette),
Remove a stray semicolon in qemudDomainMigratePrepare2. (Chris
Lalancette), Convert a few stray users of free() in libvirt.c
to VIR_FREE(). (Chris Lalancette), Use virGetHostname instead
of gethostname. (Chris Lalancette), Fix up a minor indentation
issue with virDomainMigratePrepare. (Chris Lalancette), Fix up a
silly typo in apibuild.py. (Chris Lalancette), Avoid warning when
compiling without IFF_VNET_HDR (Maximilian Wilhelm), Capilize
libvirt-client summary (Mark McLoughlin), Move ldconfig calls
to libvirt-client %post/%postun (Mark McLoughlin), Convert NEWS
to UTF-8 (Mark McLoughlin), Fix trailing whitespace in NEWS
(Mark McLoughlin), No need to build require both python-devel
and python (Mark McLoughlin), Remove executable perms from
/etc/sysconfig/libvirtd (Mark McLoughlin), Use a %postun -p for
one line scriptlet (Mark McLoughlin), Don't explicitly require
libxml2 (Mark McLoughlin), Fix some unowned directories (Mark
McLoughlin), Kill qemu BuildRequires (Mark McLoughlin), Enable
netcf by default (Mark McLoughlin), Default to with_polkit
(Mark McLoughlin), Make vbox support configurable (Mark
McLoughlin), Build with --without-capng if capng is disabled
(Mark McLoughlin), BuildRequires libcap-ng-devel not capng-devel
(Mark McLoughlin), Drop curl host check when using ESX without
check (Shahar Klein), Fix typo in xen capabilities code (Daniel
P. Berrange), Add bare format string to printf-derivatives troubles
(Laine Stump), Add phyp files to POTFILES, to make syntax-check
happy. (Cole Robinson), avoid a make distcheck failure: distribute
docs/schemas/interface.rng (Jim Meyering), avoid a make distcheck
failure: distribute tests/interfaceschemadata/ (Jim Meyering), avoid
a "make syntax-check" failure (Jim Meyering), build: do not emit
a trailing blank line into VC'd file, NEWS (Jim Meyering), build:
update from gnulib, for latest maint.mk (Jim Meyering), Clean up
error handling in qemudDomainAttachNetDevice() (Mark McLoughlin),
Cleanup qemu binary detection logic in qemudCapsInitGuest() (Mark
McLoughlin), Commit newly generated docs, after changes from
commit 2348cf. (Cole Robinson), Factor qemuBuildHostNetStr()
out from qemuBuildCommandLine() (Mark McLoughlin), Factor
qemuBuildNicStr() out from qemuBuildCommandLine() (Mark McLoughlin),
Factor qemudMonitorSend() out of qemudMonitorCommandExtra() (Mark
McLoughlin), Fix cgroup compile warnings (Daniel P. Berrange),
Fix misc build problems due to new drivers (Daniel P. Berrange),
Fix wierd build problems due to autopoint overwriting gnulib m4
(Daniel P. Berrange), Makefile.cfg: Rename to... (Jim Meyering),
make .gnulib a submodule (Jim Meyering), make "make syntax-check"
consistent with "git diff --check" (Jim Meyering), Minor qemu
monitor coding style fixes (Mark McLoughlin), Prepare to use
maint.mk from gnulib (Jim Meyering), Refactor incoming message
handling to prepare for data stream support (Daniel P. Berrange),
Refactor message sending to allow code reuse for data streams
(Daniel P. Berrange), remove all .cvsignore files (Jim Meyering),
remove all trailing blank lines (Jim Meyering), Remove some unused
variables and cut long lines (Daniel Veillard), Remove trailing
blank lines (Daniel Veillard), Rename a bunch of internal methods
to clarify their meaning (Daniel P. Berrange), Rename 'direction'
to 'type' in remote_message_header (Daniel P. Berrange), Report
the object name on lookup error (Daniel Veillard), Simplify remote
driver error reporting (Daniel P. Berrange), skip some of gnulib's
new rules (Jim Meyering), use automake-1.11's silent-rules
option, when possible (Jim Meyering), use gnumakefile and
maintainer-makefile modules from gnulib (Jim Meyering)</li></ul>
<h3>0.6.5: Jul 3 2009</h3>
<ul><li>New features: create storage columes on disk backend (Henrik Persson),
drop of capabilities based on libcap-ng when possible (Daniel
......
......@@ -5,6 +5,265 @@
<p>Here is the list of official releases, however since it is early on in the
development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.7.0: Aug 5 2009</h3>
<ul>
<li>New features: Interface implementation based on netcf (Laine Stump,
Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana),
Initial VMWare ESX driver (Matthias Bolte), Add support for VBox
3 and event callbacks on vbox (Pritesh Kothari), First version
of the Power Hypervisor driver (Eduardo Otubo), Run QEMU guests
as an unprivileged user (Daniel P. Berrange), Support cgroups
in QEMU driver (Daniel P. Berrange), QEmu hotplug NIC support
(Mark McLoughlin), Storage cloning for LVM and Disk backends(Cole
Robinson), Switching to GIT (Jim Meyering)</li>
<li>Documentation: Typo and comment fixes (Aron Griffis),
Fix virCapabilitiesDefaultGuestMachine documentation. (Chris
Lalancette), ESX Scheduler documentation and cleanup (Matthias
Bolte), Update the java bindings page (Bryan Kearney), Added
Matthias Bolte to AUTHORS list (Daniel Veillard), doc: clone+build
instructions (Jim Meyering), docs: say that the old repository
is deprecated... (Jim Meyering), document tcp listen and raw
wire option (Guido Günther), Fix docs and code disagreements
for character devices. (Cole Robinson), Fix documentation of
virStoragePoolUndefine return (Thomas Treutner), Fix gitweb link on
download page. (Cole Robinson), update download informations after
switch to git (Daniel Veillard), Update links to bugzilla (Garry
Dolley), Update the links for RHEL libvirt bugzillas (Garry Dolley)</li>
<li>Portability: Xen Inotify support needs sys/inotify.h
(Maximilian Wilhelm), Workaround for broken GCC in Debian Etch
(Maximilian Wilhelm), LXC driver requires sched.h and unshare()
(Maximilian Wilhelm), Configure UML support only if sys/inotify.h
present (Maximilian Wilhelm), Fix libcurl automatic check and ESX
status (Maximilian Wilhelm), Enable ESX driver build on Mingw32
(Daniel P. Berrange), Fix build on mingw32 by disabling netcf
(Daniel P. Berrange), Reduce glusterfs dependency to 2.0.1
(Mark McLoughlin), Desactivate phyp build and indicate libssh
builreq (Daniel Veillard), Fix misc Win32 compile warnings
(Daniel P. Berrange), Rename variable for compilation in Mingw32
(end) (Laine Stump), Rename variable for compilation in Mingw32
(Laine Stump), rpm spec cleanup and split off client only package
(Daniel Veillard)</li>
<li>Bug fixes: Add uniqueness checking for LXC define/create methods
(Daniel P. Berrange), Fix removal of transient VMs when LXC aborts
(Daniel P. Berrange), Don't try to activate cgroups if not present
for LXC (Daniel P. Berrange), Refresh /etc/xen if inotify wasn't
(Cole Robinson), Don't loose id on xen domain redefine (Cole
Robinson), Fix memory leak in openvz driver (Daniel P. Berrange),
Protected against potential crash scenarios (Daniel P. Berrange),
Fix crash when attempting to shutdown inactive QEMU vm (Daniel
P. Berrange), Fix PCIe FLR detection (Mark McLoughlin), Set perms
on /var/lib/libvirt/images to 0711 (Mark McLoughlin), Fix problem
writing QEMU pidfile (Daniel P. Berrange), Fix vcpupin on Xen
problem (Henrik Persson), Fix RPM upgrades from F11 to F12 (Daniel
P. Berrange), Fix deadlock in remote driver domain events (Daniel
P. Berrange), qemu: fix monitor socket reconnection (Ryota Ozaki),
Fix polkit/netcf disabling on older fedoras (Mark McLoughlin),
Fix crashes in Xen capabilities code (Daniel P. Berrange),
Always add -no-kvm and -no-kqemu, for qemu domains (Jim Paris),
Avoid raising an internal error (Paolo Bonzini), Don't allow NULL
paths for BlockStats and InterfaceStats (Cole Robinson), Don't
leak vm-monitorpath on re-connect (Mark McLoughlin), Don't restore
labels on shared/readonly disks (Daniel P. Berrange), Ensure spawned
children have a stderr/out set to /dev/null if requested (Daniel
P. Berrange), Ensure test:/// URIs get routed to the non-privileged
libvirtd (Daniel P. Berrange), fix another failing "make distcheck"
(qemuhelptest) (Jim Meyering), Fix an uninitialized variable
in Unix socket open (Jun Koi), Fix configure flags in spec file
(Daniel Veillard), Fix error reporting for security driver over
remote protocol (Daniel P. Berrange), fix failing "make distcheck"
(Jim Meyering), Fix free of unitialized data upon PCI open fail
(Daniel P. Berrange), Fix informations about previous git server
(Daniel Veillard), Fix memory leaks in esxDomainDumpXML (Matthias
Bolte), Fix multiple memory leaks in virsh (Laine Stump), Fix PCI
device hotplug/unplug with newer QEMU (Daniel P. Berrange), Fix
problem with QEMU monitor welcome prompt confusing libvirt after a
libvirtd daemon restart with active guests (Daniel P. Berrange),
Fix python examples to use read-write conn (Dan Kenigsberg), Fix
reconnect bug for VBox (Pritesh Kothari), Fix SELinux denial during
hotplug (Daniel P. Berrange), Fix typo in check for glusterfs format
pools (Daniel P. Berrange), Fix typo in storage cloning (Daniel
P. Berrange), qemu: Check driver is initialized up front, to avoid
segfault. (Cole Robinson), qemu: Try multiple times to open unix
monitor socket (Cole Robinson), Release conn lock before reporting
errors (end) (Laine Stump), Release conn lock before reporting
interface errors (Laine Stump), Remove the network backend if NIC
hotplug fails (Mark McLoughlin), Set specific flags for glusterfs
fs mounts (Harshavardhana), storage: disk: Default to 'ext2' for
new volumes. (Cole Robinson), storage: disk: Fix parthelper '-g'
option handling. (Cole Robinson), storage: disk: Fix segfault
creating volume without target path (Cole Robinson), storage:
Fix deadlock when cloning across pools. (Cole Robinson), Update
modified mac address in place in virGetInterface (Laine Stump)</li>
<li>Improvements: Add an allocation unit when calling qemu-img
(Ryota Ozaki), Improve diagnostics when pidfile writing fails
(Daniel P. Berrange), Disable IPv6 on virtual networks (Daniel
P. Berrange), Allow dnsmasq to provide DNS without DHCP (Daniel
P. Berrange), Fix an initialization problem in previous patch
(Aron Griffis), Remove MAX_TAP_ID and let kernel do numbering
(Aron Griffis), Kernel command line support for UML (Ron Yorston),
Activate the interface drivers, and cleanups (Daniel Veillard),
Add an error code for conflicting mac addresses (Laine Stump),
Add a test interface driver (Laine Stump), Add canonical machine
name to capabilities output (Mark McLoughlin), add cd and pwd
commands to virsh (Paolo Bonzini), Add checks for some NIC hotplug
related features added in qemu-0.10.0 (Mark McLoughlin), Add
domain autostart for LXC driver (Daniel P. Berrange), Add domain
events support to LXC driver (Daniel P. Berrange), Add interface
object list manipulation functions (Laine Stump), Add internal XML
parsing/formatting flag (Mark McLoughlin), Add netcf XML schemas
and test data (Daniel Veillard), Add new net filesystem glusterfs
(Harshavardhana), Add NIC and hostnet names to domain state XML
(Mark McLoughlin), Add no_verify query parameter to ESX URIs
(Matthias Bolte), Add SCM_RIGHTS support to QEMU monitor code
(Mark McLoughlin), Add support for attaching network/bridge NICs
in QEMU driver (Mark McLoughlin), add support for netcf XML import
and export (Daniel Veillard), Add support for network device detach
(Mark McLoughlin), Add support for physical memory access for QEmu
(Nguyen Anh Quynh), Add support for VBox 3 and event callbacks on
vbox (Pritesh Kothari), Add the monitor type to the domain state
XML (Mark McLoughlin), Add virCapsGuestMachine structure (Mark
McLoughlin), Add virsh commands for network interface management
(Laine Stump), Allow autostart of libvirtd to be disabled with
LIBVIRT_AUTOSTART=0 (Daniel P. Berrange), Allow leading dots in VMX
config entry names (Matthias Bolte), Assign names to qemu NICs and
network backends (Mark McLoughlin), Basic qemu NIC hotplug support
(Mark McLoughlin), build: adjust aclocal's search patch to prefer
gnulib's m4 files. (Jim Meyering), build: automatically rerun
./bootstrap when needed (Jim Meyering), build: make autogen.sh use
autoreconf -if (Jim Meyering), build: submodule machinery now works
also when no tag is reachable (Jim Meyering), Canonicalize qemu
machine types (Mark McLoughlin), Change code generator to give async
event messages their own postfix (Daniel P. Berrange), Change the
way client event loop watches are managed (Daniel P. Berrange),
Decode incoming request header before invoking dispatch code
(Daniel P. Berrange), Define an API for registering incoming message
dispatch filters (Daniel P. Berrange), ESX driver accept VI API
version 4.0 (Matthias Bolte), Fill in vCPU - pCPU current mapping,
and vCPU cpuTime for QEMU (Daniel P. Berrange), generate ChangeLog
from git logs into distribution tarball (Jim Meyering), Implement
qemu dump capabilities (Paolo Bonzini), Implement schedular
tunables API using cgroups (Daniel P. Berrange), Implement the
new virinterface functions (Laine Stump), Make cgroups a little
more efficient (Daniel P. Berrange), Make it easier to debug tests
running programs (Daniel P. Berrange), Make qemuBuildHostNetStr()
take tapfd as a string (Mark McLoughlin), Make QEMU cgroups use
configurable (Daniel P. Berrange), Make qemuCmdFlags available in
qemudDomainAttachDevice() (Mark McLoughlin), Move queuing of RPC
replies into dispatch code (Daniel P. Berrange), Move vnet_hdr logic
into qemudNetworkIfaceConnect() and export it (Mark McLoughlin),
Netcf based interface driver implementation (Laine Stump), netcf
XML validation and input and output tests (Daniel Veillard), Only
probe qemu for machine types when binary changes (Mark McLoughlin),
Place every QEMU guest in a private cgroup (Daniel P. Berrange),
Probe for QEMU machine types (Mark McLoughlin), Probe QEMU directly
for machine aliases if not found in capabilties (Mark McLoughlin),
Public API for new virInterface functions (Laine Stump), python:
Raise exceptions if virDomain*Stats fail. (Cole Robinson), Refactor
cgroups to allow a group per driver to be managed directly (Daniel
P. Berrange), Re-factor pci_add reply parsing and parse domain/bus
numbers (Mark McLoughlin), Retain disk PCI address across libvirtd
restarts (Mark McLoughlin), Retain PCI address from NIC attach
(Mark McLoughlin), Run QEMU guests as an unprivileged user (Daniel
P. Berrange), Separate code for encoding outgoing remote message
headers (Daniel P. Berrange), Split generic RPC message dispatch
code out from remote protocol API handlers (Daniel P. Berrange),
Split out code for handling incoming method call messages
(Daniel P. Berrange), storage: Break out actual raw cloning to
separate function. (Cole Robinson), storage: cleanup: do away with
'createFile' (Cole Robinson), storage: disk: Use capacity, not
allocation, when creating volume. (Cole Robinson), storage: Don't
try sparse detection if writing to block device. (Cole Robinson),
storage: Implement 'CreateBlockFrom' helper. (Cole Robinson),
storage: Implement CreateVolFrom for logical and disk backend. (Cole
Robinson), storage: Move most of the FS creation functions to
common backend. (Cole Robinson), storage: Refactor FS backend
'create' function choosing. (Cole Robinson), Store the interface
vlan number in the domain state (Mark McLoughlin), Support video
element for QEMU guests (Daniel P. Berrange), Support video tag
for defining VGA card properties (Daniel P. Berrange), Switch to
using a unix socket for the qemu monitor (Mark McLoughlin), test:
Generate net interface names when assigning XML. (Cole Robinson),
test: Implement BlockStats and InterfaceStats (Cole Robinson),
Use cgroups for block device whitelisting in QEMU guests (Daniel
P. Berrange), Use enums for cgroup controller types / labels
(Daniel P. Berrange), Use sendmsg() on QEMU monitor socket (Mark
McLoughlin), Use virDomainChrTypeFromString() instead of open
coding (Mark McLoughlin), Use virFileReadAll/virFileWriteStr for
key cgroup read/write helpers (Daniel P. Berrange), virGetinterface
matching of MAC and interface name (Laine Stump)</li>
<li>Cleanups: Fix configure checks from previous commits (Daniel
P. Berrange), Avoid a warning if compiling without inotify
(Daniel P. Berrange), Remove a stray semicolon (Daniel Veillard),
Extend the ESX URL to habdle ports and GSX (Matthias Bolte), Fix
escaping of 8-bit high characters (Daniel P. Berrange), , Remove
ATTRIBUTE_UNUSED from flags to qemudDomainMigratePerform. (Chris
Lalancette), Add a comment about setting errors after
qemudStartVMDaemon(). (Chris Lalancette), Fix an erroneous
debug error to KVM; it should read QEMU/KVM. (Chris Lalancette),
Remove a stray semicolon in qemudDomainMigratePrepare2. (Chris
Lalancette), Convert a few stray users of free() in libvirt.c
to VIR_FREE(). (Chris Lalancette), Use virGetHostname instead
of gethostname. (Chris Lalancette), Fix up a minor indentation
issue with virDomainMigratePrepare. (Chris Lalancette), Fix up a
silly typo in apibuild.py. (Chris Lalancette), Avoid warning when
compiling without IFF_VNET_HDR (Maximilian Wilhelm), Capilize
libvirt-client summary (Mark McLoughlin), Move ldconfig calls
to libvirt-client %post/%postun (Mark McLoughlin), Convert NEWS
to UTF-8 (Mark McLoughlin), Fix trailing whitespace in NEWS
(Mark McLoughlin), No need to build require both python-devel
and python (Mark McLoughlin), Remove executable perms from
/etc/sysconfig/libvirtd (Mark McLoughlin), Use a %postun -p for
one line scriptlet (Mark McLoughlin), Don't explicitly require
libxml2 (Mark McLoughlin), Fix some unowned directories (Mark
McLoughlin), Kill qemu BuildRequires (Mark McLoughlin), Enable
netcf by default (Mark McLoughlin), Default to with_polkit
(Mark McLoughlin), Make vbox support configurable (Mark
McLoughlin), Build with --without-capng if capng is disabled
(Mark McLoughlin), BuildRequires libcap-ng-devel not capng-devel
(Mark McLoughlin), Drop curl host check when using ESX without
check (Shahar Klein), Fix typo in xen capabilities code (Daniel
P. Berrange), Add bare format string to printf-derivatives troubles
(Laine Stump), Add phyp files to POTFILES, to make syntax-check
happy. (Cole Robinson), avoid a make distcheck failure: distribute
docs/schemas/interface.rng (Jim Meyering), avoid a make distcheck
failure: distribute tests/interfaceschemadata/ (Jim Meyering), avoid
a "make syntax-check" failure (Jim Meyering), build: do not emit
a trailing blank line into VC'd file, NEWS (Jim Meyering), build:
update from gnulib, for latest maint.mk (Jim Meyering), Clean up
error handling in qemudDomainAttachNetDevice() (Mark McLoughlin),
Cleanup qemu binary detection logic in qemudCapsInitGuest() (Mark
McLoughlin), Commit newly generated docs, after changes from
commit 2348cf. (Cole Robinson), Factor qemuBuildHostNetStr()
out from qemuBuildCommandLine() (Mark McLoughlin), Factor
qemuBuildNicStr() out from qemuBuildCommandLine() (Mark McLoughlin),
Factor qemudMonitorSend() out of qemudMonitorCommandExtra() (Mark
McLoughlin), Fix cgroup compile warnings (Daniel P. Berrange),
Fix misc build problems due to new drivers (Daniel P. Berrange),
Fix wierd build problems due to autopoint overwriting gnulib m4
(Daniel P. Berrange), Makefile.cfg: Rename to... (Jim Meyering),
make .gnulib a submodule (Jim Meyering), make "make syntax-check"
consistent with "git diff --check" (Jim Meyering), Minor qemu
monitor coding style fixes (Mark McLoughlin), Prepare to use
maint.mk from gnulib (Jim Meyering), Refactor incoming message
handling to prepare for data stream support (Daniel P. Berrange),
Refactor message sending to allow code reuse for data streams
(Daniel P. Berrange), remove all .cvsignore files (Jim Meyering),
remove all trailing blank lines (Jim Meyering), Remove some unused
variables and cut long lines (Daniel Veillard), Remove trailing
blank lines (Daniel Veillard), Rename a bunch of internal methods
to clarify their meaning (Daniel P. Berrange), Rename 'direction'
to 'type' in remote_message_header (Daniel P. Berrange), Report
the object name on lookup error (Daniel Veillard), Simplify remote
driver error reporting (Daniel P. Berrange), skip some of gnulib's
new rules (Jim Meyering), use automake-1.11's silent-rules
option, when possible (Jim Meyering), use gnumakefile and
maintainer-makefile modules from gnulib (Jim Meyering)</li>
</ul>
<h3>0.6.5: Jul 3 2009</h3>
<ul>
<li>New features: create storage columes on disk backend (Henrik Persson),
......
......@@ -442,7 +442,7 @@ extern virConnectAuthPtr virConnectAuthPtrDefault;
* version * 1,000,000 + minor * 1000 + micro
*/
#define LIBVIR_VERSION_NUMBER 6005
#define LIBVIR_VERSION_NUMBER 7000
int virGetVersion (unsigned long *libVer,
const char *type,
......
......@@ -605,6 +605,15 @@ fi
%endif
%changelog
* Wed Aug 5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
- ESX, VBox3, Power Hypervisor drivers
- new net filesystem glusterfs
- Storage cloning for LVM and Disk backends
- interface implementation based on netcf
- Support cgroups in QEMU driver
- QEmu hotplug NIC support
- a lot of fixes
* Fri Jul 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
- release of 0.6.5
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册