- 15 Nov, 2016 40 commits
-
-
Stefan Hajnoczi authored
Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Stefan Hajnoczi authored
virtio, vhost, pc, pci: documentation, fixes and cleanups Lots of fixes all over the place. Unfortunately, this does not yet fix a regression with vhost introduced by the last pull, the issue is typically this error: kvm_mem_ioeventfd_add: error adding ioeventfd: File exists followed by QEMU aborting. Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> * remotes/mst/tags/for_upstream: (28 commits) docs: add PCIe devices placement guidelines virtio: drop virtio_queue_get_ring_{size,addr}() vhost: drop legacy vring layout bits vhost: adapt vhost_verify_ring_mappings() to virtio 1 ring layout nvdimm acpi: introduce NVDIMM_DSM_MEMORY_SIZE nvdimm acpi: use aml_name_decl to define named object nvdimm acpi: rename nvdimm_dsm_reserved_root nvdimm acpi: fix two comments nvdimm acpi: define DSM return codes nvdimm acpi: rename nvdimm_acpi_hotplug nvdimm acpi: cleanup nvdimm_build_fit nvdimm acpi: rename nvdimm_plugged_device_list docs: improve the doc of Read FIT method nvdimm acpi: clean up nvdimm_build_acpi pc: memhp: stop handling nvdimm hotplug in pc_dimm_unplug pc: memhp: move nvdimm hotplug out of memory hotplug nvdimm acpi: drop the lock of fit buffer qdev: hotplug: drop HotplugHandler.post_plug callback vhost: migration blocker only if shared log is used virtio-net: mark VIRTIO_NET_F_GSO as legacy ... Message-id: 1479237527-11846-1-git-send-email-mst@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Stefan Hajnoczi authored
qdev: Fix assert in PCI address property when used by vfio-pci # gpg: Signature made Tue 15 Nov 2016 06:27:18 PM GMT # gpg: using RSA key 0x2807936F984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * ehabkost/tags/machine-pull-request: qdev: Fix assert in PCI address property when used by vfio-pci Message-id: 1479234540-3192-1-git-send-email-ehabkost@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Daniel Oram authored
Allow the PCIHostDeviceAddress structure to work as the host property in vfio-pci when it has it's default value of all fields set to ~0. In this form the property indicates a non-existant device but given the field bit sizes gets asserted as excess (and invalid) precision overflows the string buffer. The BDF of an invalid device "FFFF:FF:FF.F" is returned instead. Signed-off-by:
Daniel Oram <daniel.oram@gmail.com> Reviewed-by:
Alex Williamson <alex.williamson@redhat.com> Message-Id: <71f06765c4ba16dcd71cbf78e877619948f04ed9.1478777270.git.daniel.oram@gmail.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Stefan Hajnoczi authored
# gpg: Signature made Tue 15 Nov 2016 03:42:29 PM GMT # gpg: using RSA key 0x9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * public/tags/block-pull-request: test-replication: fix leaks Message-id: 1479224556-19367-1-git-send-email-stefanha@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Marc-André Lureau authored
ASAN spotted: SUMMARY: AddressSanitizer: 301990288 byte(s) leaked in 33 allocation(s). Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 20161109104547.23861-1-marcandre.lureau@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Marcel Apfelbaum authored
Proposes best practices on how to use PCI Express/PCI device in PCI Express based machines and explain the reasoning behind them. Reviewed-by:
Laszlo Ersek <lersek@redhat.com> Signed-off-by:
Marcel Apfelbaum <marcel@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Greg Kurz authored
These are not used anymore. Signed-off-by:
Greg Kurz <groug@kaod.org> Reviewed-by:
Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Greg Kurz authored
The legacy vring layout is not used anymore as we use the separate mappings even for legacy devices. This patch simply removes it. This also fixes a bug with virtio 1 devices when the vring descriptor table is mapped at a higher address than the used vring because the following function may return an insanely great value: hwaddr virtio_queue_get_ring_size(VirtIODevice *vdev, int n) { return vdev->vq[n].vring.used - vdev->vq[n].vring.desc + virtio_queue_get_used_size(vdev, n); } and the mapping fails. Signed-off-by:
Greg Kurz <groug@kaod.org> Reviewed-by:
Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Greg Kurz authored
With virtio 1, the vring layout is split in 3 separate regions of contiguous memory for the descriptor table, the available ring and the used ring, as opposed with legacy virtio which uses a single region. In case of memory re-mapping, the code ensures it doesn't affect the vring mapping. This is done in vhost_verify_ring_mappings() which assumes the device is legacy. This patch changes vhost_verify_ring_mappings() to check the mappings of each part of the vring separately. This works for legacy mappings as well. Cc: qemu-stable@nongnu.org Signed-off-by:
Greg Kurz <groug@kaod.org> Reviewed-by:
Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Xiao Guangrong authored
and use it to replace the raw number Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
to make the code more clearer Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
Rename it to nvdimm_dsm_handle_reserved_root_method Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
fixed the English issue and code-style issue Suggested-by:
Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
and use these codes to refine the code Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
Rename it to nvdimm_plug() Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
inline buf_size to refine the code a bit Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
Its behavior has been changed as the nvdimm device which is being realized also will be handled in this function, so rename it to reflect the fact Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
Improve the description and clearly document the length field Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
To make the code more clearer, we 1) check ram_slots first, and build ssdt & nfit only when it is available 2) use nvdimm_get_plugged_device_list() to check if there is nvdimm device plugged Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
as it is never called when nvdimm hotplug happens Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
as they use completely different way to handle hotplug event Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
as there is a global lock to protect vm-exit handlers and QMP/monitor, this lock can be dropped Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Xiao Guangrong authored
as nvdimm acpi is okay to build fit when the nvdimm device has not been 'realized' Suggested-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Xiao Guangrong <guangrong.xiao@linux.intel.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com>
-
Rafael David Tinoco authored
Commit 31190ed7 added a migration blocker in vhost_dev_init() to check if memfd would succeed. It is better if this blocker first checks if vhost backend requires shared log. This will avoid a situation where a blocker is added inappropriately (e.g. shared log allocation fails when vhost backend doesn't support it). Signed-off-by:
Rafael David Tinoco <rafael.tinoco@canonical.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Michael S. Tsirkin authored
virtio 1.0 spec says this is a legacy feature bit, hide it from guests in modern mode. Note: for cross-version migration compatibility, we keep the bit set in host_features. The result will be that a guest migrating cross-version will see host features change under it. As guests only seem to read it once, this should not be an issue. Meanwhile, will work to fix guests to ignore this bit in virtio1 mode, too. Cc: qemu-stable@nongnu.org Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Cornelia Huck <cornelia.huck@de.ibm.com>
-
Michael S. Tsirkin authored
Legacy features are those that transitional devices only expose on the legacy interface. Allow different ones per device class. Cc: qemu-stable@nongnu.org # dependency for the next patch Signed-off-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Cornelia Huck <cornelia.huck@de.ibm.com>
-
Peter Xu authored
We should not use cpu_to_le16() here, instead each of device/function value is stored in a 8 byte field. Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Igor Mammedov <imammedo@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Peter Xu authored
Reported-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Peter Xu authored
Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Gonglei authored
Currently the virtio-crypto device hasn't supported hotpluggable and live migration well. Let's tag it as not hotpluggable and migration actively and reopen them once we support them well. Suggested-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Gonglei <arei.gonglei@huawei.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Ladi Prosek authored
The function does not fully initialize the returned VirtQueueElement and should be used only internally from the virtio module. Signed-off-by:
Ladi Prosek <lprosek@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Ladi Prosek authored
The function undoes the effect of virtqueue_pop and doesn't do anything destructive or irreversible so virtqueue_unpop is a more fitting name. Signed-off-by:
Ladi Prosek <lprosek@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Jason Wang authored
Using uint8_t for source id will lose bus num and get the wrong/invalid IOTLB entry. Fixing by using uint16_t instead and enlarge level shift. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Jason Wang <jasowang@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Signed-off-by:
Michael S. Tsirkin <mst@redhat.com>
-
Stefan Hajnoczi authored
# gpg: Signature made Tue 15 Nov 2016 07:37:27 AM GMT # gpg: using RSA key 0xEF04965B398D6211 # gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@redhat.com>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 215D 46F4 8246 689E C77F 3562 EF04 965B 398D 6211 * jasowang/tags/net-pull-request: docs: fix COLO architecture diagram net: fix sending of data with -net socket, listen backend net: skip virtio-net config of deleted nic's peers Message-id: 1479195830-4725-1-git-send-email-jasowang@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Stefan Hajnoczi authored
# gpg: Signature made Tue 15 Nov 2016 04:10:29 AM GMT # gpg: using RSA key 0xBDBE7B27C0DE3057 # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>" # gpg: aka "Jeffrey Cody <jeff@codyprime.org>" # gpg: aka "Jeffrey Cody <codyprime@gmail.com>" # Primary key fingerprint: 9957 4B4D 3474 90E7 9D98 D624 BDBE 7B27 C0DE 3057 * jtc/tags/block-pull-request: mirror: do not flush every time the disks are synced block/curl: Do not wait for data beyond EOF block/curl: Remember all sockets block/curl: Fix return value from curl_read_cb block/curl: Use BDRV_SECTOR_SIZE block/curl: Drop TFTP "support" qemu-iotests: avoid spurious failure on test 109 iotests: add transactional failure race test blockjob: refactor backup_start as backup_job_create blockjob: add block_job_start blockjob: add .start field blockjob: add .clean property blockjob: fix dead pointer in txn list Message-id: 1479183291-14086-1-git-send-email-jcody@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Stefan Hajnoczi authored
ppc patch queue 2016-11-15 Latest set of ppc and spapr related patches. Highlights are: * More POWER9 instructions * Fix some subtle outstanding bugs * Add some extra tests One patch affects bitops.h, so isn't strictly ppc related. # gpg: Signature made Tue 15 Nov 2016 02:46:48 AM GMT # gpg: using RSA key 0x6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * dgibson/tags/ppc-for-2.8-20161115: boot-serial-test: Add a test for the powernv machine tests: add XSCOM tests for the PowerNV machine ppc/pnv: Fix fatal bug on 32-bit hosts ppc/pnv: fix xscom address translation for POWER9 ppc/pnv: add a 'xscom_core_base' field to PnvChipClass spapr-vty: Fix bad assert() statement FU exceptions should carry a cause (IC) spapr: Fix migration of PCI host bridges from qemu-2.7 target-ppc: Implement bcdctz. instruction target-ppc: Implement bcdcfz. instruction target-ppc: Implement bcdctn. instruction target-ppc: Implement bcdcfn. instruction ppc: Remove some stub POWER6 models ppc/pnv: fix compile breakage on old gcc powernv: CPU compatibility modes don't make sense for powernv target-ppc: add vprtyb[w/d/q] instructions target-ppc: add vrldnm and vrlwnm instructions target-ppc: add vrldnmi and vrlwmi instructions bitops: fix rol/ror when shift is zero Message-id: 1479178144-28153-1-git-send-email-david@gibson.dropbear.id.au Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Stefan Hajnoczi authored
slirp updates # gpg: Signature made Mon 14 Nov 2016 08:19:16 PM GMT # gpg: using RSA key 0xA003196827414880 # gpg: Good signature from "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" # gpg: aka "Samuel Thibault <sthibault@debian.org>" # gpg: aka "Samuel Thibault <samuel.thibault@gnu.org>" # gpg: aka "Samuel Thibault <samuel.thibault@inria.fr>" # gpg: aka "Samuel Thibault <samuel.thibault@labri.fr>" # gpg: aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" # Primary key fingerprint: 900C B024 B679 31D4 0F82 304B D017 8C76 7D06 9EE6 # Subkey fingerprint: 6B0F AC21 8566 46E9 4AA2 D200 A003 1968 2741 4880 * sthibault/tags/samuel-thibault: slirp: Fix access to freed memory Message-id: 20161114202030.17685-1-samuel.thibault@ens-lyon.org Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Stefan Hajnoczi authored
migration/next for 20161114 # gpg: Signature made Mon 14 Nov 2016 07:55:42 PM GMT # gpg: using RSA key 0xF487EF185872D723 # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" # gpg: aka "Juan Quintela <quintela@trasno.org>" # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723 * quintela/tags/migration/20161114: migration: Fix return code of ram_save_iterate() tests/test-vmstate.c: add array of pointer to struct tests/test-vmstate.c: add save_buffer util func migration: fix missing assignment for has_x_checkpoint_delay Message-id: 1479153474-2401-1-git-send-email-quintela@redhat.com Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Zhang Chen authored
Fix COLO-Proxy part of COLO architecture diagram Signed-off-by:
Zhang Chen <zhangchen.fnst@cn.fujitsu.com> Reviewed-by:
zhanghailiang <zhang.zhanghailiang@huawei.com> Signed-off-by:
Jason Wang <jasowang@redhat.com>
-