On 7/10/19 5:47 PM, Daniel P. Berrangé wrote:
> As part of the proposal to introduce an embedded driver feature, we
> decided we ought to have each driver acquire a lock against the virtual
> root it is configured to use. This will prevent two apps from running an
> embedded driver with the same root.
>
> https://www.redhat.com/archives/libvir-list/2019-May/msg00467.html
>
> It turns out that this will also be useful for the per-driver split
> daemons work I am working on. In that case libvirtd will exist as a
> monolithic daemon running all drivers, and we'll also have per-driver
> daemons like virtqemud, virtnetworkd, etc. It is only valid to run in
> one setup on the host. ie you must choose libvirtd, or choose per-driver
> daemons, never both.
>
> The per-driver locking will provide very useful protection against
> mistakes in this respect.
>
> Since the locking is functionally independant of both patch series, I'm
> sending it now.
>
> Daniel P. Berrangé (12):
> qemu: acquire a pidfile in the driver root directory
> secrets: acquire a pidfile in the driver root directory
> network: acquire a pidfile in the driver root directory
> storage: acquire a pidfile in the driver root directory
> nodedev: acquire a pidfile in the driver root directory
> interface: acquire a pidfile in the driver root directory
> nwfilter: acquire a pidfile in the driver root directory
> libxl: remove obsolete check for xend during driver startup
> libxl: acquire a pidfile in the driver root directory
> lxc: acquire a pidfile in the driver root directory
> vz: acquire a pidfile in the driver root directory
> bhyve: acquire a pidfile in the driver root directory
>
> src/bhyve/bhyve_driver.c | 9 +++++
> src/bhyve/bhyve_utils.h | 3 ++
> src/conf/virnodedeviceobj.h | 5 +++
> src/conf/virnwfilterobj.h | 4 +++
> src/conf/virstorageobj.h | 3 ++
> src/interface/interface_backend_netcf.c | 45 +++++++++++++++++++++++--
> src/interface/interface_backend_udev.c | 44 +++++++++++++++++++++++-
> src/libxl/libxl_conf.h | 3 ++
> src/libxl/libxl_driver.c | 37 ++++++++------------
> src/lxc/lxc_conf.h | 3 ++
> src/lxc/lxc_driver.c | 9 +++++
> src/network/bridge_driver.c | 10 ++++++
> src/network/bridge_driver_platform.h | 3 ++
> src/node_device/node_device_hal.c | 31 +++++++++++++++++
> src/node_device/node_device_udev.c | 32 ++++++++++++++++++
> src/nwfilter/nwfilter_driver.c | 19 +++++++++++
> src/qemu/qemu_conf.h | 3 ++
> src/qemu/qemu_driver.c | 9 +++++
> src/secret/secret_driver.c | 44 +++++++++++++++++++-----
> src/storage/storage_driver.c | 11 ++++++
> src/vz/vz_driver.c | 40 +++++++++++++++++++---
> 21 files changed, 327 insertions(+), 40 deletions(-)
>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Michal
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list