]> git.ipfire.org Git - thirdparty/libvirt.git/commit
nwfilter: fix deadlock caused updating network device and nwfilter
authorPavel Hrdina <phrdina@redhat.com>
Wed, 5 Nov 2014 13:28:57 +0000 (14:28 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Thu, 13 Nov 2014 09:45:19 +0000 (10:45 +0100)
commit41127244fb90f08cf5032a5d7553f5f0390d925e
treed21223dd44b0bbebc0ca7f5562d2f8d2f5cd5c6c
parent54ddc08ddb3d86e90b48b655a51577761e20ac34
nwfilter: fix deadlock caused updating network device and nwfilter

Commit 6e5c79a1 tried to fix deadlock between nwfilter{Define,Undefine}
and starting of guest, but this same deadlock exists for
updating/attaching network device to domain.

The deadlock was introduced by removing global QEMU driver lock because
nwfilter was counting on this lock and ensure that all driver locks are
locked inside of nwfilter{Define,Undefine}.

This patch extends usage of virNWFilterReadLockFilterUpdates to prevent
the deadlock for all possible paths in QEMU driver. LXC and UML drivers
still have global lock.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1143780

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_driver.c
src/qemu/qemu_migration.c
src/qemu/qemu_process.c