1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/daemons
Alasdair G Kergon be66243933 clvmd: Fix freeze if client dies holding locks.
Simply running concurrent copies of 'pvscan | true' is enough to make
clvmd freeze: pvscan exits on the EPIPE without first releasing the
global lock.

clvmd notices the client disappear but because the cleanup code that
releases the locks is triggered from within some processing after the
next select() returns, and that processing can 'break' after doing just
one action, it sometimes never releases the locks to other clients.

Move the cleanup code before the select.
Check all fds after select().
Improve some debug messages and warn in the unlikely event that
select() capacity could soon be exceeded.
2015-07-23 23:10:16 +01:00
..
clvmd clvmd: Fix freeze if client dies holding locks. 2015-07-23 23:10:16 +01:00
cmirrord pre-release 2014-11-11 14:13:00 +00:00
dmeventd include: Standardise around new tool.h. 2015-07-06 17:30:18 +01:00
lvmetad coverity: missing return value checks 2015-07-09 15:15:15 +02:00
lvmlockd lvmlockd: improve check for duplicate global locks 2015-07-23 10:39:11 -05:00
lvmpolld lvmpolld: Fix segfault on 32 bit architectures 2015-07-10 16:16:57 +02:00
Makefile.in Add lvmlockd 2015-07-02 15:42:26 -05:00