This patchset adds a driver named 'config' which provides access to configuration data, such as secret and storage definitions, without requiring a connection to a hypervisor. This complements my previous patchset, which resolves the race condition on libvirtd startup. The rationale behind this idea is that there exist circumstances under which a driver may require access to things such as secrets during a time at which there is no active connection to a hypervisor. Currently, that data can not be accessed. An example of this in libvirt today is that the storage driver requires a connection in order to access secret data to auto-start an RBD storage pool that uses CephX authentication. My previous patchset breaks the ability to auto-start that type of storage pool, and this patchset fixes it again. This driver is technically what one may call a hypervisor driver, but it does not implement any domain operations. It simply exists to handle requests by drivers for access to information that would otherwise by unattainable. The URI provided by this driver is 'config:///' and has been tested working on four different machines of mine, running three different Linux distributions (Archlinux, Gentoo, and CentOS). Being a very simple driver, I would expect it to work pretty much anywhere. I welcome comments and suggestions related to this driver. At the very least, this patchset combined with my previous patchset resolves the current race condition present on startup of libvirtd without any loss of functionality. Adam Walters (4): config: Adding config driver configure: Implement config driver libvirtd: Reorder load of secrets driver storage: Change hardcoded QEMU connection to use config driver configure.ac | 11 ++ daemon/libvirtd.c | 21 ++-- include/libvirt/virterror.h | 2 + po/POTFILES.in | 1 + src/Makefile.am | 25 +++++ src/config/config_driver.c | 238 +++++++++++++++++++++++++++++++++++++++++++ src/config/config_driver.h | 44 ++++++++ src/storage/storage_driver.c | 13 +-- src/util/virerror.c | 2 + 9 files changed, 345 insertions(+), 12 deletions(-) create mode 100644 src/config/config_driver.c create mode 100644 src/config/config_driver.h -- 1.8.5.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list