1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Alasdair G Kergon f2eda36cfa clvmd: Fix client list corruption
Centralise editing of the client list into _add_client() and
_del_client().  Introduce _local_client_count to track the size of the
list for debugging purposes.  Simplify and standardise the various ways
the list gets walked.

While processing one element of the list in main_loop(),
cleanup_zombie() may be called and remove a different element, so make
sure main_loop() refreshes its list state on return.  Prior to this
patch, the list edits for clients disappearing could race against the
list edits for new clients connecting and corrupt the list and cause a
variety of segfaults.

An easy way to trigger such failures was by repeatedly running shell
commands such as:
  lvs &; lvs &; lvs &;...;killall -9 lvs; lvs &; lvs &;...

Situations that occasionally lead to the failures can be spotted by
looking for 'EOF' with 'inprogress=1' in the clvmd debug logs.
2017-07-01 01:34:38 +01:00
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
conf man: regenerate 2017-06-27 15:47:00 +01:00
coverity coverity: model few more functions 2017-06-27 12:17:16 +02:00
daemons clvmd: Fix client list corruption 2017-07-01 01:34:38 +01:00
doc pre-release 2017-03-28 16:11:35 +01:00
include fsadm: support configurable full path 2017-04-12 21:34:08 +02:00
lib coverity: just make impossible division by zero 2017-06-30 20:39:23 +02:00
libdaemon lvmetad: fix segfault on i386 2017-03-13 13:37:07 -05:00
libdm coverity: move initilization of count variable 2017-06-27 12:16:33 +02:00
liblvm cleanup: define really uses KB 2017-06-09 21:49:19 +02:00
man man: regenerate 2017-06-27 15:47:00 +01:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
old-tests doc: change fsf address 2016-01-21 12:11:37 +01:00
po doc: change fsf address 2016-01-21 12:11:37 +01:00
python python: move lvm_init 2016-05-16 14:36:55 -05:00
report-generators doc: change fsf address 2016-01-21 12:11:37 +01:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts clvmd_fix_conf.sh: double quote 2017-06-29 22:23:16 +02:00
spec spec: Enable notify-dbus in builds with dbus 2017-05-26 07:40:09 +02:00
test tests: aux.sh fix pattern 2017-06-30 21:13:07 +02:00
tools man_generator: release buffer after use 2017-06-30 20:39:02 +02:00
udev makefiles: use configure vars 2017-02-14 10:24:56 +01:00
unit-tests doc: change fsf address 2016-01-21 12:11:37 +01:00
.gitignore lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
acinclude.m4 configure: just move new macro to right file 2016-12-13 22:49:59 +01:00
aclocal.m4 configure: just move new macro to right file 2016-12-13 22:49:59 +01:00
configure configure: update 2017-06-09 22:52:19 +02:00
configure.in configure: search for (a possibly prefixed) ar 2017-06-09 22:49:39 +02:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in configure: search for (a possibly prefixed) ar 2017-06-09 22:49:39 +02:00
Makefile.in man: Revise internal man page generation process. 2017-03-14 00:47:46 +00:00
README git: Upstream repository moved to sourceware.org 2017-02-27 14:05:50 +00:00
VERSION post-release 2017-06-28 17:00:49 +01:00
VERSION_DM post-release 2017-06-28 17:00:49 +01:00
WHATS_NEW clvmd: Fix client list corruption 2017-07-01 01:34:38 +01:00
WHATS_NEW_DM post-release 2017-06-28 17:00:49 +01:00

This tree contains the LVM2 and device-mapper tools and libraries.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sourceware.org/pub/lvm2/
  ftp://sources.redhat.com/pub/lvm2/

The source code is stored in git:
  https://sourceware.org/git/?p=lvm2.git
  git clone git://sourceware.org/git/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

The source code repository used until 7th June 2012 is accessible here:
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2.