libvirt/src/conf
Michal Privoznik 462c4b66fa Introduce and use virDomainDiskEmptySource
Currently, if we want to zero out disk source (e,g, due to
startupPolicy when starting up a domain) we use
virDomainDiskSetSource(disk, NULL). This works well for file
based storage (storage type file, dir, or block). But it doesn't
work at all for other types like volume and network.

So imagine that you have a domain that has a CDROM configured
which source is a volume from an inactive pool. Because it is
startupPolicy='optional', the CDROM is empty when the domain
starts. However, the source element is not cleared out in the
status XML and thus when the daemon restarts and tries to
reconnect to the domain it refreshes the disks (which fails - the
storage pool is still not running) and thus the domain is killed.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2017-04-03 08:35:57 +02:00
..
capabilities.c Change virQEMUCapsInitPages to virCapabilitiesInitPages 2017-03-27 13:13:29 +02:00
capabilities.h Change virQEMUCapsInitPages to virCapabilitiesInitPages 2017-03-27 13:13:29 +02:00
cpu_conf.c cpu_conf: Introduce virCPUDefFreeFeatures 2017-03-27 16:29:27 +02:00
cpu_conf.h cpu_conf: Introduce virCPUDefFreeFeatures 2017-03-27 16:29:27 +02:00
device_conf.c util: move virInterface(State|Link)/virNetDevFeature from conf to util 2016-06-26 19:33:07 -04:00
device_conf.h make all struct typedefs comply with proposed coding conventions 2017-03-06 13:00:45 -05:00
domain_addr.c conf: Make switch statements more strict 2017-02-22 18:55:55 +01:00
domain_addr.h conf: move VIR_DOMAIN_USB_HUB_PORTS to the header file 2017-01-31 13:09:08 +01:00
domain_audit.c conf: Wire up the vhost-scsi connection from/to XML 2016-11-24 12:22:25 -05:00
domain_audit.h audit: Audit information about shmem devices 2016-09-12 19:41:43 +02:00
domain_capabilities.c domain_capabilities: Don't report machine type for bhyve 2017-03-22 09:40:17 +01:00
domain_capabilities.h qemu: Avoid reporting "host" as a supported CPU model 2016-11-25 20:59:19 +01:00
domain_conf.c Introduce and use virDomainDiskEmptySource 2017-04-03 08:35:57 +02:00
domain_conf.h Introduce and use virDomainDiskEmptySource 2017-04-03 08:35:57 +02:00
domain_event.c virGetDomain: Set domain ID too 2017-04-03 08:35:57 +02:00
domain_event.h lib: Introduce event for tracking disk backing file write threshold 2017-03-27 09:29:57 +02:00
domain_nwfilter.c
domain_nwfilter.h
interface_conf.c conf: Adjust coding style for interface conf sources 2017-03-06 07:07:01 -05:00
interface_conf.h conf: Alter coding style of interface function prototypes 2017-03-06 07:07:01 -05:00
netdev_bandwidth_conf.c conf: Remove NONNULL(1,2) for virNetDevBandwidthFormat 2017-03-22 13:49:59 -04:00
netdev_bandwidth_conf.h conf: Remove NONNULL(1,2) for virNetDevBandwidthFormat 2017-03-22 13:49:59 -04:00
netdev_vlan_conf.c
netdev_vlan_conf.h
netdev_vport_profile_conf.c
netdev_vport_profile_conf.h
network_conf.c Add ATTRIBUTE_FALLTHROUGH for switch cases without break 2017-02-23 10:11:16 +00:00
network_conf.h make all struct typedefs comply with proposed coding conventions 2017-03-06 13:00:45 -05:00
network_event.c events: Add explicit lookup 'key' value 2016-07-01 07:15:38 -04:00
network_event.h
networkcommon_conf.c util: move IP route & address object-related functions to virnetdevip.c 2016-06-26 19:33:09 -04:00
networkcommon_conf.h util: move IP route & address object-related functions to virnetdevip.c 2016-06-26 19:33:09 -04:00
node_device_conf.c conf: Alter error message for vHBA creation using parent wwnn/wwpn 2017-03-15 21:23:18 -04:00
node_device_conf.h conf: Return the vHBA name from virNodeDeviceCreateVport 2017-03-15 21:17:47 -04:00
node_device_event.c Introduce node device update event as top level event 2016-08-15 08:30:56 -04:00
node_device_event.h Introduce node device update event as top level event 2016-08-15 08:30:56 -04:00
numa_conf.c qemu, conf: Rename virNumaMemAccess to virDomainMemoryAccess 2017-02-09 14:27:19 +01:00
numa_conf.h conf: Remove NONNULL(1) for virDomainNumaGetNodeCount 2017-03-22 13:49:59 -04:00
nwfilter_conf.c conf: Adjust coding style for nwfilter conf sources 2017-03-07 13:27:25 -05:00
nwfilter_conf.h conf: Alter coding style of nwfilter function prototypes 2017-03-07 13:27:25 -05:00
nwfilter_ipaddrmap.c
nwfilter_ipaddrmap.h
nwfilter_params.c util: Add a return value to void hash iterators 2016-02-17 12:46:34 +01:00
nwfilter_params.h
object_event_private.h conf: events: Fix coverity warning 2016-08-03 18:45:50 -04:00
object_event.c Clean timer in virObjectEventStateFlush 2016-10-12 12:54:47 +02:00
object_event.h Change virDomainEventState to virObjectLockable 2016-10-12 12:54:47 +02:00
secret_conf.c conf: simplify internal virSecretDef handling of usage 2017-01-09 15:53:49 +00:00
secret_conf.h conf: simplify internal virSecretDef handling of usage 2017-01-09 15:53:49 +00:00
secret_event.c secret: add support for value change events 2017-01-09 16:42:04 +00:00
secret_event.h secret: add support for value change events 2017-01-09 16:42:04 +00:00
snapshot_conf.c qemu: block copy: Forbid block copy to relative paths 2016-12-16 18:30:39 +01:00
snapshot_conf.h conf: add caps to virDomainSnapshotDefFormat 2016-02-05 10:57:39 +00:00
storage_adapter_conf.c conf: Convert virStoragePoolSourceAdapter to virStorageAdapter 2017-03-15 21:17:47 -04:00
storage_adapter_conf.h conf: Convert virStoragePoolSourceAdapter to virStorageAdapter 2017-03-15 21:17:47 -04:00
storage_conf.c conf: do not steal pointers from the pool source 2017-03-29 10:36:55 +02:00
storage_conf.h conf: Alter coding style of storage conf function prototypes 2017-03-17 14:40:09 -04:00
storage_event.c events: Add explicit lookup 'key' value 2016-07-01 07:15:38 -04:00
storage_event.h Promote storage pool refresh lifecycle event to top level event 2016-06-24 18:26:11 +01:00
virchrdev.c Move src/fdstream to src/util/virfdstream 2017-03-27 13:13:29 +02:00
virchrdev.h
virdomainobjlist.c virGetDomain: Set domain ID too 2017-04-03 08:35:57 +02:00
virdomainobjlist.h libxl: fix vm lock overwritten bug 2016-06-13 13:34:37 +02:00
virinterfaceobj.c conf: Use consistent function name prefixes for virinterfaceobj 2017-03-06 07:07:01 -05:00
virinterfaceobj.h conf: Alter coding style of interface function prototypes 2017-03-06 07:07:01 -05:00
virnodedeviceobj.c conf: Use consistent function name prefixes for virnodedeviceobj 2017-03-03 18:36:09 -05:00
virnodedeviceobj.h conf: Alter coding style of nodedev function prototypes 2017-03-03 18:36:09 -05:00
virnwfilterobj.c conf: Use consistent function name prefixes for virnwfilterobj 2017-03-07 13:27:25 -05:00
virnwfilterobj.h conf: Use consistent function name prefixes for virnwfilterobj 2017-03-07 13:27:25 -05:00
virsecretobj.c conf: simplify internal virSecretDef handling of usage 2017-01-09 15:53:49 +00:00
virsecretobj.h secret: Introduce virSecretObjGetValue and virSecretObjGetValueSize 2016-04-25 15:45:29 -04:00
virstorageobj.c conf: Use consistent function name prefixes for virstorageobj 2017-03-17 14:40:09 -04:00
virstorageobj.h conf: Use consistent function name prefixes for virstorageobj 2017-03-17 14:40:09 -04:00