[libvirt] [PATCH v2] storage: Fix iscsi-direct volume size for volumes > 4GiB
by Jiri Denemark
Both block_size and nb_block are unit32_t and multiplying them overflows
at 4GiB.
Moreover, the iscsi_*10_* APIs use 32bit number of blocks and thus they
can only address images up to 2TiB with 512B blocks. Let's use 64b
iscsi_*16_* APIs instead.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Notes:
Version 2:
- also fix volumes > 2TiB
src/storage/storage_backend_iscsi_direct.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index 32ceb592d9..786663534d 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -245,7 +245,7 @@ static int
virISCSIDirectGetVolumeCapacity(struct iscsi_context *iscsi,
int lun,
uint32_t *block_size,
- uint32_t *nb_block)
+ uint64_t *nb_block)
{
struct scsi_task *task = NULL;
struct scsi_inquiry_standard *inq = NULL;
@@ -267,12 +267,12 @@ virISCSIDirectGetVolumeCapacity(struct iscsi_context *iscsi,
}
if (inq->device_type == SCSI_INQUIRY_PERIPHERAL_DEVICE_TYPE_DIRECT_ACCESS) {
- struct scsi_readcapacity10 *rc10 = NULL;
+ struct scsi_readcapacity16 *rc16 = NULL;
scsi_free_scsi_task(task);
task = NULL;
- if (!(task = iscsi_readcapacity10_sync(iscsi, lun, 0, 0)) ||
+ if (!(task = iscsi_readcapacity16_sync(iscsi, lun)) ||
task->status != SCSI_STATUS_GOOD) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to get capacity of lun: %s"),
@@ -280,15 +280,15 @@ virISCSIDirectGetVolumeCapacity(struct iscsi_context *iscsi,
goto cleanup;
}
- if (!(rc10 = scsi_datain_unmarshall(task))) {
+ if (!(rc16 = scsi_datain_unmarshall(task))) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to unmarshall reply: %s"),
iscsi_get_error(iscsi));
goto cleanup;
}
- *block_size = rc10->block_size;
- *nb_block = rc10->lba;
+ *block_size = rc16->block_length;
+ *nb_block = rc16->returned_lba;
}
@@ -306,7 +306,7 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool,
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
uint32_t block_size;
- uint32_t nb_block;
+ uint64_t nb_block;
VIR_AUTOPTR(virStorageVolDef) vol = NULL;
if (virISCSIDirectTestUnitReady(iscsi, lun) < 0)
@@ -627,9 +627,9 @@ static int
virStorageBackendISCSIDirectVolWipeZero(virStorageVolDefPtr vol,
struct iscsi_context *iscsi)
{
- uint32_t lba = 0;
+ uint64_t lba = 0;
uint32_t block_size;
- uint32_t nb_block;
+ uint64_t nb_block;
struct scsi_task *task = NULL;
int lun = 0;
int ret = -1;
@@ -647,14 +647,14 @@ virStorageBackendISCSIDirectVolWipeZero(virStorageVolDefPtr vol,
while (lba < nb_block) {
if (nb_block - lba > block_size * BLOCK_PER_PACKET) {
- if (!(task = iscsi_write10_sync(iscsi, lun, lba, data,
+ if (!(task = iscsi_write16_sync(iscsi, lun, lba, data,
block_size * BLOCK_PER_PACKET,
block_size, 0, 0, 0, 0, 0)))
return -1;
scsi_free_scsi_task(task);
lba += BLOCK_PER_PACKET;
} else {
- if (!(task = iscsi_write10_sync(iscsi, lun, lba, data, block_size,
+ if (!(task = iscsi_write16_sync(iscsi, lun, lba, data, block_size,
block_size, 0, 0, 0, 0, 0)))
return -1;
scsi_free_scsi_task(task);
--
2.21.0
5 years, 9 months
[libvirt] [PATCH] news: Trivial style fixes
by Andrea Bolognani
Some of the recent entries deviated from the established
style used throughout the file, so let's fix them.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial.
docs/news.xml | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/docs/news.xml b/docs/news.xml
index b86943ab47..4c4ca5f0b9 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -48,7 +48,7 @@
</change>
<change>
<summary>
- network: support setting a firewalld "zone" for virtual network bridges
+ network: Support setting a firewalld "zone" for virtual network bridges
</summary>
<description>
All libvirt virtual networks with bridges managed by libvirt
@@ -61,7 +61,7 @@
</change>
<change>
<summary>
- bhyve: support for ignoring unknown MSRs reads and writes
+ bhyve: Support for ignoring unknown MSRs reads and writes
</summary>
<description>
A new <features> element <msrs unknown='ignore'/> was
@@ -71,12 +71,12 @@
</change>
<change>
<summary>
- QEMU: add support for encrypted VNC TLS keys
+ qemu: Add support for encrypted VNC TLS keys
</summary>
<description>
Use the password stored in the secret driver under the uuid
specified by the <code>vnc_tls_x509_secret_uuid</code> option
- in QEMU.conf.
+ in qemu.conf.
</description>
</change>
<change>
@@ -90,7 +90,7 @@
</change>
<change>
<summary>
- QEMU: Add support for setting post-copy migration bandwidth
+ qemu: Add support for setting post-copy migration bandwidth
</summary>
<description>
Users can now limit the bandwidth of post-copy migration, e.g.
@@ -134,7 +134,7 @@
</change>
<change>
<summary>
- Allocate QEMU memory at the configured NUMA nodes from start
+ qemu: Allocate memory at the configured NUMA nodes from start
</summary>
<description>
Libvirt used to just start QEMU, let it allocate memory for
@@ -194,7 +194,7 @@
</change>
<change>
<summary>
- network: fix virtual networks on systems using firewalld+nftables
+ network: Fix virtual networks on systems using firewalld+nftables
</summary>
<description>
Because of the transitional state of firewalld's new support
@@ -221,7 +221,7 @@
</change>
<change>
<summary>
- QEMU: Fix i6300esb watchdog hotplug on Q35
+ qemu: Fix i6300esb watchdog hotplug on Q35
</summary>
<description>
Ensure that libvirt allocates a PCI address for the device so
@@ -252,7 +252,7 @@
</change>
<change>
<summary>
- QEMU: Fix guestfwd hotplug/hotunplug
+ qemu: Fix guestfwd hotplug/hotunplug
</summary>
<description>
Fixed the generation of the guestfwd hotplug/unplug command
@@ -262,7 +262,7 @@
</change>
<change>
<summary>
- QEMU: Forbid CDROMs on virtio bus
+ qemu: Forbid CDROMs on virtio bus
</summary>
<description>
Attempting to create an empty virtio-blk drive or attempting
@@ -272,7 +272,7 @@
</change>
<change>
<summary>
- QEMU: Use 'raw' for 'volume' disks without format
+ qemu: Use 'raw' for 'volume' disks without format
</summary>
<description>
Storage pools might want to specify format of the image when
@@ -284,7 +284,7 @@
</change>
<change>
<summary>
- QEMU: domain: Assume 'raw' default storage format also for network storage
+ qemu: Assume 'raw' default storage format also for network storage
</summary>
<description>
Post parse callback adds the 'raw' type only for local files.
@@ -294,7 +294,7 @@
</change>
<change>
<summary>
- QEMU: Fix block job progress reporting and advocate for READY event
+ qemu: Fix block job progress reporting and advocate for READY event
</summary>
<description>
In some cases QEMU can get to 100% and still not reach the
@@ -306,7 +306,7 @@
</change>
<change>
<summary>
- QEMU: Don't format image properties for empty drive
+ qemu: Don't format image properties for empty drive
</summary>
<description>
If a <code>-drive</code> has no image, then formatting
--
2.20.1
5 years, 9 months
[libvirt] [PATCH] virISCSIDirectRefreshVol: Don't clear volumes in each run
by Michal Privoznik
When fetching LUNs from iscsi server the
virISCSIDirectReportLuns() is called. This function does some
libiscsi calls and then calls virISCSIDirectRefreshVol() over
each LUN found. It's unfortunate that the latter calls
virStoragePoolObjClearVols() as we lose all LUNs processed
in previous iterations.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/storage/storage_backend_iscsi_direct.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index 20997d5c5d..32ceb592d9 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -309,7 +309,6 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool,
uint32_t nb_block;
VIR_AUTOPTR(virStorageVolDef) vol = NULL;
- virStoragePoolObjClearVols(pool);
if (virISCSIDirectTestUnitReady(iscsi, lun) < 0)
return -1;
@@ -376,6 +375,7 @@ virISCSIDirectReportLuns(virStoragePoolObjPtr pool,
def->capacity = 0;
def->allocation = 0;
+ virStoragePoolObjClearVols(pool);
for (i = 0; i < list->num; i++) {
if (virISCSIDirectRefreshVol(pool, iscsi, list->luns[i], portal) < 0)
goto cleanup;
--
2.19.2
5 years, 9 months
[libvirt] [PATCH] storage: Fix iscsi-direct volume size for volumes > 4GiB
by Jiri Denemark
Both block_size and nb_block are unit32_t.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/storage/storage_backend_iscsi_direct.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index 20997d5c5d..78dc4bd100 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -321,8 +321,8 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool,
if (virISCSIDirectGetVolumeCapacity(iscsi, lun, &block_size, &nb_block) < 0)
return -1;
- vol->target.capacity = block_size * nb_block;
- vol->target.allocation = block_size * nb_block;
+ vol->target.capacity = (unsigned long long)block_size * nb_block;
+ vol->target.allocation = (unsigned long long)block_size * nb_block;
def->capacity += vol->target.capacity;
def->allocation += vol->target.allocation;
--
2.21.0
5 years, 9 months
[libvirt] [PATCH v2 0/4] Get rid of VIR_AUTOPTR(virString)
by Peter Krempa
Peter Krempa (4):
util: string: Introduce macro for automatic string lists
util: string: Use VIR_AUTOSTRINGLIST instead of VIR_AUTOPTR(virString)
util: string: Remove the 'virString' type
util: alloc: Note that VIR_AUTOPTR/VIR_AUTOCLEAN must not be used with
vectors
src/libvirt_private.syms | 1 +
src/lxc/lxc_process.c | 2 +-
src/qemu/qemu_conf.c | 8 ++++----
src/storage/storage_backend_sheepdog.c | 4 ++--
src/storage/storage_backend_zfs.c | 10 +++++-----
src/util/viralloc.h | 6 ++++++
src/util/vircommand.c | 2 +-
src/util/virfirewall.c | 2 +-
src/util/virprocess.c | 2 +-
src/util/virstoragefile.c | 10 +++++-----
src/util/virstring.c | 10 ++++++++++
src/util/virstring.h | 12 +++++++++---
src/xenconfig/xen_common.c | 14 +++++++-------
13 files changed, 53 insertions(+), 30 deletions(-)
--
2.20.1
5 years, 9 months
[libvirt] [PATCH v4 00/20] Incremental Backup API additions
by Eric Blake
The following is the latest version of my API proposal for
incremental backups, and follows along from the demo I presented
as part of my KVM Forum 2018 talk:
https://kvmforum2018.sched.com/event/FzuB/facilitating-incremental-backup...
The patches are also available via https://repo.or.cz/libvirt/ericb.git
at the tag backup-v4.
Integration with external snapshots is still not included in these
patches, although I have been playing more with that locally, and
I still haven't gotten a working demonstration of a push-mode
incremental backup.
At this point, I'm posting mainly because there have been enough
changes in qemu (the backup APIs are now stable! and in qemu.git
in time for 4.0) and libvirt (several releases and code cleanups
in between, such that the v3 no longer applies easily), while I
continue to work locally on more features, addressing the review
comments I got on v3, and remove the 'wip' tag on several of the
later patches.
Among other things, I still haven't determined how we want to
integrate checkpoints with external snapshots; we could either have:
virDomainSnapshotCreateXML("<domainsnapshot>...") # existing
virDomainBackupBegin("<domainbackup>...", "<domaincheckpoint>...") # this series
virDomainSnapshotCheckpointCreateXML("<domainsnapshot>...", "<domaincheckpoint>...") # new
or to make checkpoint creation part of the snapshot and backup XML, as in:
virDomainSnapshotCreateXML("<domainsnapshot><domaincheckpoint>...</domainsnapshot>") # extension of existing
virDomainBackupBegin("<domainbackup><domaincheckpoint>...</domainbackup>") # tweak to this series
I'm also planning to add an API to query which job ids are currently
running (right now, the code only supports one job at a time, and
always calls it job 1, but that is not future-friendly) and an update
to the redefine XML command to make it easier to redefine multiple
checkpoints in one API call.
Since v3:
001/20:[----] [--] 'snapshots: Avoid term 'checkpoint' for full system snapshot'
002/20:[----] [--] 'domain_conf: Expose virDomainStorageNetworkParseHost'
003/20:[----] [--] 'qemu: Allow optional export name during NBD export'
004/20:[----] [--] 'backup: Document nuances between different state capture APIs'
005/20:[0032] [FC] 'backup: Introduce virDomainCheckpointPtr'
006/20:[----] [--] 'backup: Document new XML for backups'
007/20:[0013] [FC] 'backup: Introduce virDomainCheckpoint APIs'
008/20:[0017] [FC] 'backup: Introduce virDomainBackup APIs'
009/20:[----] [--] 'backup: Add new domain:checkpoint access control'
010/20:[0104] [FC] 'backup: Implement backup APIs for remote driver'
011/20:[0034] [FC] 'wip: backup: Parse and output checkpoint XML'
012/20:[0013] [FC] 'wip: backup: Parse and output backup XML'
013/20:[0006] [FC] 'backup: Implement virsh support for checkpoints'
014/20:[----] [--] 'wip: backup: virsh support for backup'
015/20:[0126] [FC] 'backup: Add new qemu monitor interactions'
016/20:[0072] [FC] 'backup: qemu: Implement metadata tracking for checkpoint APIs'
017/20:[0069] [FC] 'wip: backup: Wire up qemu checkpoint commands over QMP'
018/20:[0018] [FC] 'wip: backup: qemu: Implement framework for backup job APIs'
019/20:[0045] [FC] 'backup: Wire up qemu full pull backup commands over QMP'
020/20:[0051] [FC] 'backup: implement qemu incremental pull backup'
Eric Blake (20):
snapshots: Avoid term 'checkpoint' for full system snapshot
domain_conf: Expose virDomainStorageNetworkParseHost
qemu: Allow optional export name during NBD export
backup: Document nuances between different state capture APIs
backup: Introduce virDomainCheckpointPtr
backup: Document new XML for backups
backup: Introduce virDomainCheckpoint APIs
backup: Introduce virDomainBackup APIs
backup: Add new domain:checkpoint access control
backup: Implement backup APIs for remote driver
wip: backup: Parse and output checkpoint XML
wip: backup: Parse and output backup XML
backup: Implement virsh support for checkpoints
wip: backup: virsh support for backup
backup: Add new qemu monitor interactions
backup: qemu: Implement metadata tracking for checkpoint APIs
wip: backup: Wire up qemu checkpoint commands over QMP
wip: backup: qemu: Implement framework for backup job APIs
backup: Wire up qemu full pull backup commands over QMP
backup: implement qemu incremental pull backup
include/libvirt/virterror.h | 7 +-
src/util/virerror.c | 12 +-
include/libvirt/libvirt-domain-checkpoint.h | 176 ++
include/libvirt/libvirt-domain-snapshot.h | 2 +-
include/libvirt/libvirt-domain.h | 17 +-
include/libvirt/libvirt.h | 3 +-
src/access/viraccessperm.h | 8 +-
src/conf/checkpoint_conf.h | 215 +++
src/conf/domain_conf.h | 16 +-
src/datatypes.h | 31 +-
src/driver-hypervisor.h | 74 +-
src/qemu/qemu_block.h | 3 +
src/qemu/qemu_blockjob.h | 1 +
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_conf.h | 2 +
src/qemu/qemu_domain.h | 29 +-
src/qemu/qemu_monitor.h | 21 +-
src/qemu/qemu_monitor_json.h | 19 +-
tools/virsh-checkpoint.h | 29 +
tools/virsh-completer.h | 4 +
tools/virsh-util.h | 3 +
tools/virsh.h | 1 +
docs/Makefile.am | 3 +
docs/apibuild.py | 2 +
docs/docs.html.in | 9 +-
docs/domainstatecapture.html.in | 314 ++++
docs/format.html.in | 1 +
docs/formatcheckpoint.html.in | 291 +++
docs/formatsnapshot.html.in | 33 +-
docs/index.html.in | 3 +-
docs/schemas/domainbackup.rng | 185 ++
docs/schemas/domaincheckpoint.rng | 94 +
examples/object-events/event-test.c | 3 +
libvirt.spec.in | 3 +
mingw-libvirt.spec.in | 6 +
po/POTFILES | 3 +
src/Makefile.am | 2 +
src/access/viraccessperm.c | 5 +-
src/conf/Makefile.inc.am | 2 +
src/conf/checkpoint_conf.c | 1533 ++++++++++++++++
src/conf/domain_conf.c | 52 +-
src/conf/snapshot_conf.c | 4 +-
src/datatypes.c | 62 +-
src/libvirt-domain-checkpoint.c | 925 ++++++++++
src/libvirt-domain-snapshot.c | 7 +-
src/libvirt-domain.c | 8 +-
src/libvirt_private.syms | 30 +
src/libvirt_public.syms | 23 +
src/qemu/qemu_block.c | 12 +
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_conf.c | 5 +
src/qemu/qemu_domain.c | 217 ++-
src/qemu/qemu_driver.c | 1552 +++++++++++++++-
src/qemu/qemu_migration.c | 2 +-
src/qemu/qemu_monitor.c | 65 +-
src/qemu/qemu_monitor_json.c | 197 +-
src/qemu/qemu_process.c | 7 +
src/remote/remote_daemon_dispatch.c | 22 +-
src/remote/remote_driver.c | 33 +-
src/remote/remote_protocol.x | 238 ++-
src/remote_protocol-structs | 129 ++
src/rpc/gendispatch.pl | 32 +-
tests/Makefile.am | 15 +-
tests/domainbackupxml2xmlin/backup-pull.xml | 9 +
tests/domainbackupxml2xmlin/backup-push.xml | 9 +
tests/domainbackupxml2xmlin/empty.xml | 1 +
tests/domainbackupxml2xmlout/backup-pull.xml | 9 +
tests/domainbackupxml2xmlout/backup-push.xml | 9 +
tests/domainbackupxml2xmlout/empty.xml | 7 +
tests/domaincheckpointxml2xmlin/empty.xml | 1 +
tests/domaincheckpointxml2xmlin/sample.xml | 7 +
tests/domaincheckpointxml2xmlout/empty.xml | 10 +
tests/domaincheckpointxml2xmlout/sample.xml | 16 +
tests/domaincheckpointxml2xmltest.c | 231 +++
.../caps_4.0.0.riscv32.xml | 2 +
.../caps_4.0.0.riscv64.xml | 2 +
tests/qemumonitorjsontest.c | 2 +-
tests/virschematest.c | 4 +
tools/Makefile.am | 3 +-
tools/virsh-checkpoint.c | 1578 +++++++++++++++++
tools/virsh-completer.c | 52 +-
tools/virsh-domain.c | 8 +-
tools/virsh-snapshot.c | 2 +-
tools/virsh-util.c | 11 +
tools/virsh.c | 2 +
tools/virsh.pod | 14 +-
86 files changed, 8674 insertions(+), 123 deletions(-)
create mode 100644 include/libvirt/libvirt-domain-checkpoint.h
create mode 100644 src/conf/checkpoint_conf.h
create mode 100644 tools/virsh-checkpoint.h
create mode 100644 docs/domainstatecapture.html.in
create mode 100644 docs/formatcheckpoint.html.in
create mode 100644 docs/schemas/domainbackup.rng
create mode 100644 docs/schemas/domaincheckpoint.rng
create mode 100644 src/conf/checkpoint_conf.c
create mode 100644 src/libvirt-domain-checkpoint.c
create mode 100644 tests/domainbackupxml2xmlin/backup-pull.xml
create mode 100644 tests/domainbackupxml2xmlin/backup-push.xml
create mode 100644 tests/domainbackupxml2xmlin/empty.xml
create mode 100644 tests/domainbackupxml2xmlout/backup-pull.xml
create mode 100644 tests/domainbackupxml2xmlout/backup-push.xml
create mode 100644 tests/domainbackupxml2xmlout/empty.xml
create mode 100644 tests/domaincheckpointxml2xmlin/empty.xml
create mode 100644 tests/domaincheckpointxml2xmlin/sample.xml
create mode 100644 tests/domaincheckpointxml2xmlout/empty.xml
create mode 100644 tests/domaincheckpointxml2xmlout/sample.xml
create mode 100644 tests/domaincheckpointxml2xmltest.c
create mode 100644 tools/virsh-checkpoint.c
--
2.20.1
5 years, 9 months
[libvirt] [PATCH for 5.1.0] news: Update for 5.1.0 release
by Michal Privoznik
Not exhaustive list of new features, improvements and bugfixes.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
docs/news.xml | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 201 insertions(+)
diff --git a/docs/news.xml b/docs/news.xml
index 9c5ae7e8a3..813f1a93e3 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -69,8 +69,104 @@
Model Specific Registers (MSRs) reads and writes.
</description>
</change>
+ <change>
+ <summary>
+ qemu: add support for encrypted VNC TLS keys
+ </summary>
+ <description>
+ Use the password stored in the secret driver under the uuid
+ specified by the vnc_tls_x509_secret_uuid option in qemu.conf.
+ </description>
+ </change>
+ <change>
+ <summary>
+ Add storage pool namespace options
+ </summary>
+ <description>
+ Allow for adjustment of RBD configuration options via Storage
+ Pool XML Namespace adjustments.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Add support for setting post-copy migration bandwidth
+ </summary>
+ <description>
+ Users can now limit the bandwidth of post-copy migration, e.g.
+ via <code>virsh migrate --postcopy-bandwidth</code>.
+ </description>
+ </change>
</section>
<section title="Improvements">
+ <change>
+ <summary>
+ Create private chains for virtual network firewall rules
+ </summary>
+ <description>
+ Historically firewall rules for virtual networks were added
+ straight into the base chains. This works but has a number of
+ bugs and design limitations. To address them, libvirt now puts
+ firewall rules into its own chains.
+ </description>
+ </change>
+ <change>
+ <summary>
+ Detect CEPH and GPFS as shared FS
+ </summary>
+ <description>
+ When starting a migration libvirt does some sanity checks to
+ make sure domain will be able to run on destination. One of
+ requirements is that disk has to either be migrated too or
+ live on network filesystem. CEPH and GPFS weren't detected as
+ a network filesystem.
+ </description>
+ </change>
+ <change>
+ <summary>
+ Advertise network MTU via DHCP when specified
+ </summary>
+ <description>
+ If network MTU is set and the network has DHCP enabled,
+ advertise the MTU in DHCP transaction too so that clients can
+ adjust their link accordingly.
+ </description>
+ </change>
+ <change>
+ <summary>
+ Allocate qemu memory at the configured NUMA nodes from start
+ </summary>
+ <description>
+ Libvirt used to just start qemu, let it allocate memory for
+ the guest and then use CGroups to move the memory to
+ configured NUMA nodes. This is suboptimal as huge chunks of
+ memory have to be moved. Moreover, this relies on ability to
+ move memory later which is not always true. Set process
+ affinity corretly from the start so that memory is allocated
+ on the configured nodes from the beginning.
+ </description>
+ </change>
+ <change>
+ <summary>
+ Support for newer wireshark
+ </summary>
+ <description>
+ Wireshark supports out of tree builds of dissectors since its
+ 2.5.0 release. Adapt libvirt to that. This affects minimal
+ required version then too.
+ </description>
+ </change>
+ <change>
+ <summary>
+ More use of VIR_AUTOFREE() and friends
+ </summary>
+ <description>
+ Usuaully, this would be viewed as an internal change that
+ should not concern users. However, since libvirt is written in
+ memory unsafe language some memory leaks might have been
+ actually fixed by using VIR_AUTOFREE(). It is definitely step
+ towards defensive programming.
+ </description>
+ </change>
</section>
<section title="Bug fixes">
<change>
@@ -133,6 +229,111 @@
attribute of the network bridge element).
</description>
</change>
+ <change>
+ <summary>
+ Refresh block jobs on daemon restart
+ </summary>
+ <description>
+ In case the daemon is restarted it now fetches new state of
+ blockjobs. This means that libvirt does not lose track of
+ block jobs anymore.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Fix i6300esb watchdog hotplug on Q35
+ </summary>
+ <description>
+ Due to a bug libvirt was not allocating PCI address for
+ watchdog device nor it was telling it to qemu. This lead qemu
+ to chose one (the lowest one) which might not be hotpluggable.
+ </description>
+ </change>
+ <change>
+ <summary>
+ lxc: Don't reboot host on virDomainReboot
+ </summary>
+ <description>
+ If the container is really a simple one (init is just bash and
+ the whole root is passed through) then virDomainReboot and
+ virDomainShutdown would reboot or shutdown the host. The
+ solution is to use different method to reboot or shutdown the
+ container in that case (e.g. signal).
+ </description>
+ </change>
+ <change>
+ <summary>
+ rpc: Various stream fixes
+ </summary>
+ <description>
+ One particular race was fixed, one locking problem and error
+ reporting from streams was made better.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Fix guestfwd hotplug/hotunplug
+ </summary>
+ <description>
+ Unaware to libvirt developers whether somebody actually uses
+ guestfwd, it's hotplug and hotunplug was fixed. Libvirt used
+ to use incorrect monitor command.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Forbid cdroms on virtio bus
+ </summary>
+ <description>
+ Attempting to create an empty virtio-blk drive or attempting
+ to eject it results into an error. Forbid configurations
+ where users would attempt to use cdroms in virtio bus.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Use 'raw' for 'volume' disks without format
+ </summary>
+ <description>
+ Storage pools might want to specify format of the image when
+ translating the volume thus libvirt can't add any default
+ format when parsing the XML. Add an explicit format when
+ starting the VM and format is not present neither by user
+ specifying it nor by the storage pool translation function.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: domain: Assume 'raw' default storage format also for network storage
+ </summary>
+ <description>
+ Post parse callback adds the 'raw' type only for local files.
+ Remote files can also have backing store (even local) so we
+ should do this also for network backed storage.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Fix block job progress reporting and advocate for READY event
+ </summary>
+ <description>
+ In some cases qemu can get to 100% and still not reach the
+ synchronised phase. Initiating a pivot in that case will fail.
+ Therefore it is strongly adviced to wait for
+ VIR_DOMAIN_BLOCK_JOB_READY event which does not suffer from
+ this problem.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Don't format image properties for empty -drive
+ </summary>
+ <description>
+ If a -drive has no image, using image properties makes qemu
+ whine that they should not be used. Stop formatting attributes
+ like cache/readonly/... in that case.
+ </description>
+ </change>
</section>
</release>
<release version="v5.0.0" date="2019-01-15">
--
2.19.2
5 years, 9 months
[libvirt] [PATCH] iscsi_direct: Reset pool capacity and allocation just before refresh
by Michal Privoznik
Jirka reported a bug that with every 'virsh pool-refresh' an
iscsi-direct pool would grow and grow. The problem is that
virISCSIDirectRefreshVol() only adds to def->capacity and
def->allocation but nothing clears it out to begin with.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/storage/storage_backend_iscsi_direct.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index 4ac4ad471c..20997d5c5d 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -341,6 +341,7 @@ virISCSIDirectReportLuns(virStoragePoolObjPtr pool,
struct iscsi_context *iscsi,
char *portal)
{
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
struct scsi_task *task = NULL;
struct scsi_reportluns_list *list = NULL;
int full_size;
@@ -373,6 +374,8 @@ virISCSIDirectReportLuns(virStoragePoolObjPtr pool,
goto cleanup;
}
+ def->capacity = 0;
+ def->allocation = 0;
for (i = 0; i < list->num; i++) {
if (virISCSIDirectRefreshVol(pool, iscsi, list->luns[i], portal) < 0)
goto cleanup;
--
2.19.2
5 years, 9 months
[libvirt] [PATCH] tools/virt-host-validate: Fix IOMMU check on s390x
by Thomas Huth
When running virt-host-validate on an s390x host, the tool currently
warns that it is "Unknown if this platform has IOMMU support".
We can use the common check for entries in sys/kernel/iommu_groups here,
too, but it only makes sense to check it if there are also PCI devices
available. It's also common on s390x that there are no PCI devices
assigned to the LPAR, and in that case there is no need for the
PCI-related IOMMU, so without PCI devices we should simply skip this
test.
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
---
tools/virt-host-validate-common.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/virt-host-validate-common.c b/tools/virt-host-validate-common.c
index 73e3bdb..75c7cfc 100644
--- a/tools/virt-host-validate-common.c
+++ b/tools/virt-host-validate-common.c
@@ -337,7 +337,7 @@ int virHostValidateIOMMU(const char *hvname,
virBitmapPtr flags;
struct stat sb;
const char *bootarg = NULL;
- bool isAMD = false, isIntel = false, isPPC = false;
+ bool isAMD = false, isIntel = false, isPPC, isS390;
flags = virHostValidateGetCPUFlags();
if (flags && virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_VMX))
@@ -348,6 +348,7 @@ int virHostValidateIOMMU(const char *hvname,
virBitmapFree(flags);
isPPC = ARCH_IS_PPC64(virArchFromHost());
+ isS390 = ARCH_IS_S390(virArchFromHost());
if (isIntel) {
virHostMsgCheck(hvname, "%s", _("for device assignment IOMMU support"));
@@ -375,6 +376,12 @@ int virHostValidateIOMMU(const char *hvname,
}
} else if (isPPC) {
/* Empty Block */
+ } else if (isS390) {
+ /* On s390x, we skip the IOMMU check if there are no PCI devices
+ * (which is quite usual on s390x) */
+ if (stat("/sys/bus/pci/devices", &sb) < 0 || !S_ISDIR(sb.st_mode) ||
+ sb.st_nlink <= 2)
+ return 0;
} else {
virHostMsgFail(level,
"Unknown if this platform has IOMMU support");
@@ -391,7 +398,7 @@ int virHostValidateIOMMU(const char *hvname,
virHostMsgCheck(hvname, "%s", _("if IOMMU is enabled by kernel"));
if (sb.st_nlink <= 2) {
- if (!isPPC)
+ if (bootarg)
virHostMsgFail(level,
"IOMMU appears to be disabled in kernel. "
"Add %s to kernel cmdline arguments", bootarg);
--
1.8.3.1
5 years, 9 months
[libvirt] [PATCH] conf: don't output managed attr for non-pci hostdevs
by Nikolay Shirokovskiy
It is ignored on input for non pci hostdevs as written in docs.
I guess it would be better if the attr was disabled to be specified
in the first place instead but such behaviour is already documented.
At least let's not output it back. This will fix issue when
managed appeared on output for non pci hostdevs when it was not
specified on input.
The tests are fixed by next commands:
grep -lRP 'hostdev.*mode=.subsystem.*type=.(?!pci).*managed' `find tests -name '*.xml'` > files
sed -i.bak -re 's/ managed=.(yes|no).//' `cat files`
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
src/conf/domain_conf.c | 6 ++++--
tests/qemuargv2xmldata/hostdev-usb-address.xml | 2 +-
tests/qemuxml2argvdata/controller-order.xml | 2 +-
.../disk-hostdev-scsi-address-conflict.xml | 2 +-
.../disk-hostdev-scsi-virtio-iscsi-auth-AES.xml | 2 +-
.../hostdev-scsi-autogen-address.xml | 22 +++++++++++-----------
tests/qemuxml2argvdata/hostdev-scsi-boot.xml | 2 +-
tests/qemuxml2argvdata/hostdev-scsi-large-unit.xml | 2 +-
.../hostdev-scsi-lsi-iscsi-auth.xml | 4 ++--
tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi.xml | 4 ++--
tests/qemuxml2argvdata/hostdev-scsi-lsi.xml | 2 +-
tests/qemuxml2argvdata/hostdev-scsi-rawio.xml | 2 +-
tests/qemuxml2argvdata/hostdev-scsi-readonly.xml | 2 +-
tests/qemuxml2argvdata/hostdev-scsi-sgio.xml | 2 +-
tests/qemuxml2argvdata/hostdev-scsi-shareable.xml | 2 +-
.../hostdev-scsi-vhost-scsi-ccw.xml | 2 +-
.../hostdev-scsi-vhost-scsi-pci.xml | 2 +-
.../hostdev-scsi-vhost-scsi-pcie.xml | 2 +-
.../hostdev-scsi-virtio-iscsi-auth.xml | 4 ++--
.../qemuxml2argvdata/hostdev-scsi-virtio-iscsi.xml | 4 ++--
.../qemuxml2argvdata/hostdev-scsi-virtio-scsi.xml | 2 +-
.../hostdev-usb-address-device-boot.xml | 2 +-
.../hostdev-usb-address-device.xml | 2 +-
tests/qemuxml2argvdata/hostdev-usb-address.xml | 2 +-
.../hostdevs-drive-address-conflict.xml | 4 ++--
tests/qemuxml2argvdata/name-escape.xml | 2 +-
tests/qemuxml2argvdata/user-aliases-usb.xml | 4 ++--
tests/qemuxml2xmloutdata/hostdev-mdev-display.xml | 2 +-
.../qemuxml2xmloutdata/hostdev-mdev-precreated.xml | 2 +-
.../hostdev-scsi-autogen-address.xml | 22 +++++++++++-----------
.../qemuxml2xmloutdata/hostdev-scsi-large-unit.xml | 2 +-
.../hostdev-scsi-lsi-iscsi-auth.xml | 4 ++--
.../qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi.xml | 4 ++--
tests/qemuxml2xmloutdata/hostdev-scsi-lsi.xml | 2 +-
tests/qemuxml2xmloutdata/hostdev-scsi-rawio.xml | 2 +-
tests/qemuxml2xmloutdata/hostdev-scsi-readonly.xml | 2 +-
tests/qemuxml2xmloutdata/hostdev-scsi-sgio.xml | 2 +-
.../qemuxml2xmloutdata/hostdev-scsi-shareable.xml | 2 +-
.../hostdev-scsi-vhost-scsi-ccw.xml | 2 +-
.../hostdev-scsi-vhost-scsi-pci.xml | 2 +-
.../hostdev-scsi-vhost-scsi-pcie.xml | 2 +-
.../hostdev-scsi-virtio-iscsi-auth.xml | 4 ++--
.../hostdev-scsi-virtio-iscsi.xml | 4 ++--
.../hostdev-scsi-virtio-scsi.xml | 2 +-
.../hostdev-subsys-mdev-vfio-ccw.xml | 2 +-
tests/qemuxml2xmloutdata/hostdev-usb-address.xml | 2 +-
tests/xlconfigdata/test-usb.xml | 2 +-
47 files changed, 80 insertions(+), 78 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ceeb247..9ff659c 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -27330,8 +27330,10 @@ virDomainHostdevDefFormat(virBufferPtr buf,
virBufferAsprintf(buf, "<hostdev mode='%s' type='%s'",
mode, type);
if (def->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) {
- virBufferAsprintf(buf, " managed='%s'",
- def->managed ? "yes" : "no");
+ if (def->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
+ virBufferAsprintf(buf, " managed='%s'",
+ def->managed ? "yes" : "no");
+ }
if (def->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI &&
scsisrc->sgio)
diff --git a/tests/qemuargv2xmldata/hostdev-usb-address.xml b/tests/qemuargv2xmldata/hostdev-usb-address.xml
index 14514c9..0bdfd08 100644
--- a/tests/qemuargv2xmldata/hostdev-usb-address.xml
+++ b/tests/qemuargv2xmldata/hostdev-usb-address.xml
@@ -29,7 +29,7 @@
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='usb' managed='no'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
diff --git a/tests/qemuxml2argvdata/controller-order.xml b/tests/qemuxml2argvdata/controller-order.xml
index 5aedadc..75bc7f5 100644
--- a/tests/qemuxml2argvdata/controller-order.xml
+++ b/tests/qemuxml2argvdata/controller-order.xml
@@ -76,7 +76,7 @@
<model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
- <hostdev mode='subsystem' type='usb' managed='yes'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
diff --git a/tests/qemuxml2argvdata/disk-hostdev-scsi-address-conflict.xml b/tests/qemuxml2argvdata/disk-hostdev-scsi-address-conflict.xml
index 777d857..5482d43 100644
--- a/tests/qemuxml2argvdata/disk-hostdev-scsi-address-conflict.xml
+++ b/tests/qemuxml2argvdata/disk-hostdev-scsi-address-conflict.xml
@@ -18,7 +18,7 @@
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='sda' bus='scsi'/>
</disk>
- <hostdev mode='subsystem' type='scsi' managed='no'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host2'/>
<address bus='0' target='0' unit='1'/>
diff --git a/tests/qemuxml2argvdata/disk-hostdev-scsi-virtio-iscsi-auth-AES.xml b/tests/qemuxml2argvdata/disk-hostdev-scsi-virtio-iscsi-auth-AES.xml
index 21a0b11..363155d 100644
--- a/tests/qemuxml2argvdata/disk-hostdev-scsi-virtio-iscsi-auth-AES.xml
+++ b/tests/qemuxml2argvdata/disk-hostdev-scsi-virtio-iscsi-auth-AES.xml
@@ -30,7 +30,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/2'>
<host name='example.org' port='6000'/>
<auth username='myname'>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-autogen-address.xml b/tests/qemuxml2argvdata/hostdev-scsi-autogen-address.xml
index 6f8cf56..bf00bb8 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-autogen-address.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-autogen-address.xml
@@ -23,68 +23,68 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host1'/>
<address bus='0' target='0' unit='1'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host2'/>
<address bus='0' target='0' unit='2'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host3'/>
<address bus='0' target='0' unit='3'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host4'/>
<address bus='0' target='0' unit='4'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host5'/>
<address bus='0' target='0' unit='5'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host6'/>
<address bus='0' target='0' unit='6'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host7'/>
<address bus='0' target='0' unit='7'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host8'/>
<address bus='0' target='0' unit='8'/>
</source>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host9'/>
<address bus='0' target='0' unit='9'/>
</source>
<address type='drive' controller='1' bus='0' target='0' unit='5'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host10'/>
<address bus='0' target='0' unit='10'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-boot.xml b/tests/qemuxml2argvdata/hostdev-scsi-boot.xml
index 13e159b..f9254fd 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-boot.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-boot.xml
@@ -21,7 +21,7 @@
<controller type='scsi' index='0' model='virtio-scsi'/>
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-large-unit.xml b/tests/qemuxml2argvdata/hostdev-scsi-large-unit.xml
index 8c654c4..5c36057 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-large-unit.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-large-unit.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='1074872354'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi-auth.xml b/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi-auth.xml
index d39885b..79fb7a2 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi-auth.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi-auth.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/1'>
<host name='example.org' port='3260'/>
<auth username='myname'>
@@ -34,7 +34,7 @@
</source>
<address type='drive' controller='0' bus='0' target='0' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/2'>
<host name='example.org' port='3260'/>
<auth username='myname'>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi.xml b/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi.xml
index d84d0b3..911563d 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi.xml
@@ -25,13 +25,13 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example'>
<host name='example.org' port='3260'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example/1'>
<host name='example.org' port='3260'/>
</source>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi.xml b/tests/qemuxml2argvdata/hostdev-scsi-lsi.xml
index df4777c..ecdfd55 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-rawio.xml b/tests/qemuxml2argvdata/hostdev-scsi-rawio.xml
index 2ece594..7fa470d 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-rawio.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-rawio.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes' sgio='unfiltered' rawio='yes'>
+ <hostdev mode='subsystem' type='scsi' sgio='unfiltered' rawio='yes'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-readonly.xml b/tests/qemuxml2argvdata/hostdev-scsi-readonly.xml
index 1cdf562..1593160 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-readonly.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-readonly.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-sgio.xml b/tests/qemuxml2argvdata/hostdev-scsi-sgio.xml
index bad2ceb..e0d786a 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-sgio.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-sgio.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes' sgio='unfiltered'>
+ <hostdev mode='subsystem' type='scsi' sgio='unfiltered'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-shareable.xml b/tests/qemuxml2argvdata/hostdev-scsi-shareable.xml
index 3b176a2..e4765ca 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-shareable.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-shareable.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.xml b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.xml
index 33234bc..21029d5 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.xml
@@ -22,7 +22,7 @@
<controller type='scsi' index='0' model='virtio-scsi'>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0001'/>
</controller>
- <hostdev mode='subsystem' type='scsi_host' managed='no'>
+ <hostdev mode='subsystem' type='scsi_host'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
</hostdev>
<memballoon model='virtio'>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.xml b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.xml
index 13455f6..6f63453 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.xml
@@ -31,7 +31,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi_host' managed='no'>
+ <hostdev mode='subsystem' type='scsi_host'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
</hostdev>
<memballoon model='virtio'>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.xml b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.xml
index c4e8c33..7ca9cc9 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.xml
@@ -15,7 +15,7 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='usb' index='0' model='none'/>
- <hostdev mode='subsystem' type='scsi_host' managed='no'>
+ <hostdev mode='subsystem' type='scsi_host'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
</hostdev>
<memballoon model='none'/>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi-auth.xml b/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi-auth.xml
index 0f63f98..c286cb5 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi-auth.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi-auth.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/1'>
<host name='example.org' port='3260'/>
<auth username='myname'>
@@ -34,7 +34,7 @@
</source>
<address type='drive' controller='0' bus='0' target='2' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/2'>
<host name='example.org' port='3260'/>
<auth username='myname'>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi.xml b/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi.xml
index 9a457db..5162ddd 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-iscsi.xml
@@ -25,13 +25,13 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example'>
<host name='example.org' port='3260'/>
</source>
<address type='drive' controller='0' bus='0' target='2' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example/1'>
<host name='example.org' port='3260'/>
</source>
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.xml b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.xml
index aa56cac..3bc79bb 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.xml
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2argvdata/hostdev-usb-address-device-boot.xml b/tests/qemuxml2argvdata/hostdev-usb-address-device-boot.xml
index 8fd6720..f32a6f1 100644
--- a/tests/qemuxml2argvdata/hostdev-usb-address-device-boot.xml
+++ b/tests/qemuxml2argvdata/hostdev-usb-address-device-boot.xml
@@ -17,7 +17,7 @@
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
</disk>
- <hostdev mode='subsystem' type='usb' managed='no'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
diff --git a/tests/qemuxml2argvdata/hostdev-usb-address-device.xml b/tests/qemuxml2argvdata/hostdev-usb-address-device.xml
index 0fe6d63..9ba0cbb 100644
--- a/tests/qemuxml2argvdata/hostdev-usb-address-device.xml
+++ b/tests/qemuxml2argvdata/hostdev-usb-address-device.xml
@@ -18,7 +18,7 @@
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
</disk>
- <hostdev mode='subsystem' type='usb' managed='no'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
diff --git a/tests/qemuxml2argvdata/hostdev-usb-address.xml b/tests/qemuxml2argvdata/hostdev-usb-address.xml
index 9deb2a6..04704bd 100644
--- a/tests/qemuxml2argvdata/hostdev-usb-address.xml
+++ b/tests/qemuxml2argvdata/hostdev-usb-address.xml
@@ -25,7 +25,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='usb' managed='no'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
diff --git a/tests/qemuxml2argvdata/hostdevs-drive-address-conflict.xml b/tests/qemuxml2argvdata/hostdevs-drive-address-conflict.xml
index c78c1be..d35a31b 100644
--- a/tests/qemuxml2argvdata/hostdevs-drive-address-conflict.xml
+++ b/tests/qemuxml2argvdata/hostdevs-drive-address-conflict.xml
@@ -14,14 +14,14 @@
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-i686</emulator>
- <hostdev mode='subsystem' type='scsi' managed='no'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host2'/>
<address bus='0' target='0' unit='1'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='no'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host2'/>
<address bus='0' target='0' unit='2'/>
diff --git a/tests/qemuxml2argvdata/name-escape.xml b/tests/qemuxml2argvdata/name-escape.xml
index fab2a77..d533587 100644
--- a/tests/qemuxml2argvdata/name-escape.xml
+++ b/tests/qemuxml2argvdata/name-escape.xml
@@ -28,7 +28,7 @@
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='scsi' index='0' model='virtio-scsi'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:my,storage/1'>
<host name='example.foo.org' port='3260'/>
</source>
diff --git a/tests/qemuxml2argvdata/user-aliases-usb.xml b/tests/qemuxml2argvdata/user-aliases-usb.xml
index 668a9c3..5647a0b 100644
--- a/tests/qemuxml2argvdata/user-aliases-usb.xml
+++ b/tests/qemuxml2argvdata/user-aliases-usb.xml
@@ -62,13 +62,13 @@
<master startport='4'/>
<address type='pci' domain='0' bus='0' slot='5' function='2'/>
</controller>
- <hostdev mode='subsystem' type='usb' managed='yes'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
<address type='usb' bus='0' port='3'/>
</hostdev>
- <hostdev mode='subsystem' type='usb' managed='yes'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='15' device='6'/>
</source>
diff --git a/tests/qemuxml2xmloutdata/hostdev-mdev-display.xml b/tests/qemuxml2xmloutdata/hostdev-mdev-display.xml
index d0a8591..9fc998b 100644
--- a/tests/qemuxml2xmloutdata/hostdev-mdev-display.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-mdev-display.xml
@@ -30,7 +30,7 @@
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
- <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on'>
+ <hostdev mode='subsystem' type='mdev' model='vfio-pci' display='on'>
<source>
<address uuid='53764d0e-85a0-42b4-af5c-2046b460b1dc'/>
</source>
diff --git a/tests/qemuxml2xmloutdata/hostdev-mdev-precreated.xml b/tests/qemuxml2xmloutdata/hostdev-mdev-precreated.xml
index 9d35fac..9f350ce 100644
--- a/tests/qemuxml2xmloutdata/hostdev-mdev-precreated.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-mdev-precreated.xml
@@ -23,7 +23,7 @@
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci'>
+ <hostdev mode='subsystem' type='mdev' model='vfio-pci'>
<source>
<address uuid='53764d0e-85a0-42b4-af5c-2046b460b1dc'/>
</source>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-autogen-address.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-autogen-address.xml
index 3b4242e..0b0cb12 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-autogen-address.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-autogen-address.xml
@@ -35,77 +35,77 @@
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host1'/>
<address bus='0' target='0' unit='1'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host2'/>
<address bus='0' target='0' unit='2'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host3'/>
<address bus='0' target='0' unit='3'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='3'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host4'/>
<address bus='0' target='0' unit='4'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host5'/>
<address bus='0' target='0' unit='5'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='5'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host6'/>
<address bus='0' target='0' unit='6'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='6'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host7'/>
<address bus='0' target='0' unit='7'/>
</source>
<address type='drive' controller='1' bus='0' target='0' unit='0'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host8'/>
<address bus='0' target='0' unit='8'/>
</source>
<address type='drive' controller='1' bus='0' target='0' unit='1'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host9'/>
<address bus='0' target='0' unit='9'/>
</source>
<address type='drive' controller='1' bus='0' target='0' unit='5'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host10'/>
<address bus='0' target='0' unit='10'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-large-unit.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-large-unit.xml
index 1b0da12..26b3c83 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-large-unit.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-large-unit.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='1074872354'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi-auth.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi-auth.xml
index beeb3cb..5f5b3c5 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi-auth.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi-auth.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/1'>
<host name='example.org' port='3260'/>
<auth username='myname'>
@@ -41,7 +41,7 @@
</source>
<address type='drive' controller='0' bus='0' target='0' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/2'>
<host name='example.org' port='3260'/>
<auth username='myname'>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi.xml
index cff162b..da2667c 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi.xml
@@ -32,13 +32,13 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example/0'>
<host name='example.org' port='3260'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example/1'>
<host name='example.org' port='3260'/>
</source>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-lsi.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-lsi.xml
index d8931da..36fd21f 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-lsi.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-lsi.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-rawio.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-rawio.xml
index df1375d..34cbc9a 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-rawio.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-rawio.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes' sgio='unfiltered' rawio='yes'>
+ <hostdev mode='subsystem' type='scsi' sgio='unfiltered' rawio='yes'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-readonly.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-readonly.xml
index dd252f8..79e7c7e 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-readonly.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-readonly.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-sgio.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-sgio.xml
index 05cefc0..eae879a 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-sgio.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-sgio.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes' sgio='unfiltered'>
+ <hostdev mode='subsystem' type='scsi' sgio='unfiltered'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-shareable.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-shareable.xml
index 31aa2dd..57b9936 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-shareable.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-shareable.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-ccw.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-ccw.xml
index 3723bd0..d41cdfe 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-ccw.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-ccw.xml
@@ -23,7 +23,7 @@
<controller type='scsi' index='0' model='virtio-scsi'>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0001'/>
</controller>
- <hostdev mode='subsystem' type='scsi_host' managed='no'>
+ <hostdev mode='subsystem' type='scsi_host'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0002'/>
</hostdev>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pci.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pci.xml
index 174096b..1dbacfc 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pci.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pci.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi_host' managed='no'>
+ <hostdev mode='subsystem' type='scsi_host'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</hostdev>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.xml
index ef48d81..917e9cd 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.xml
@@ -31,7 +31,7 @@
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi_host' managed='no'>
+ <hostdev mode='subsystem' type='scsi_host'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</hostdev>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi-auth.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi-auth.xml
index a3886ec..013d8f3 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi-auth.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi-auth.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/1'>
<host name='example.org' port='3260'/>
<auth username='myname'>
@@ -41,7 +41,7 @@
</source>
<address type='drive' controller='0' bus='0' target='2' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example:storage/2'>
<host name='example.org' port='3260'/>
<auth username='myname'>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi.xml
index d31af32..847b785 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-iscsi.xml
@@ -32,13 +32,13 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example/0'>
<host name='example.org' port='3260'/>
</source>
<address type='drive' controller='0' bus='0' target='2' unit='4'/>
</hostdev>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source protocol='iscsi' name='iqn.1992-01.com.example/1'>
<host name='example.org' port='3260'/>
</source>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-scsi.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-scsi.xml
index df87897..cb79018 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-scsi.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-virtio-scsi.xml
@@ -32,7 +32,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='scsi' managed='yes'>
+ <hostdev mode='subsystem' type='scsi'>
<source>
<adapter name='scsi_host0'/>
<address bus='0' target='0' unit='0'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml b/tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml
index a14ab05..5c4d2b5 100644
--- a/tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml
@@ -14,7 +14,7 @@
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-s390x</emulator>
- <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ccw'>
+ <hostdev mode='subsystem' type='mdev' model='vfio-ccw'>
<source>
<address uuid='90c6c135-ad44-41d0-b1b7-bae47de48627'/>
</source>
diff --git a/tests/qemuxml2xmloutdata/hostdev-usb-address.xml b/tests/qemuxml2xmloutdata/hostdev-usb-address.xml
index 9e33773..c89780d 100644
--- a/tests/qemuxml2xmloutdata/hostdev-usb-address.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-usb-address.xml
@@ -29,7 +29,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <hostdev mode='subsystem' type='usb' managed='no'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='14' device='6'/>
</source>
diff --git a/tests/xlconfigdata/test-usb.xml b/tests/xlconfigdata/test-usb.xml
index 5bac73b..017d9f6 100644
--- a/tests/xlconfigdata/test-usb.xml
+++ b/tests/xlconfigdata/test-usb.xml
@@ -26,7 +26,7 @@
</console>
<input type='mouse' bus='xen'/>
<input type='keyboard' bus='xen'/>
- <hostdev mode='subsystem' type='usb' managed='no'>
+ <hostdev mode='subsystem' type='usb'>
<source>
<address bus='1' device='3'/>
</source>
--
1.8.3.1
5 years, 9 months