mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository
https://sourceware.org/lvm2/
9b2800e861
The management threads (main_loop, the socket thread) could close a single fd twice in a row sometimes. At least one other thread can be running at the same time as the threads doing the double close. That one running thread also happens to do some IO (namely, open /proc/devices, read from it, close it). If there was enough "demand" for the local socket, this could happen: - a connection to clvmd is about to finish, let's say the fd is 13 (it often happens to be in my test script, don't ask why) - the local_sock thread calls close(13) - the lvm thread calls open("/proc/devices"...) and gets 13 - the main_loop thread calls close(13) [OOPS!] - new connection arrives, and is accept'd by a (new) local_sock thread - the accept gives an fd of 13 (since it's the lowest free fd at this point) - the lvm thread gets around to read from it's /proc/devices handle... 13, again - the lvm thread hangs forever trying to read from the socket instead of /proc/devices Signed-off-by: Petr Rockai <prockai@redhat.com> Reviewed-by: Milan Broz <mbroz@redhat.com> |
||
---|---|---|
autoconf | ||
daemons | ||
doc | ||
include | ||
lib | ||
libdm | ||
liblvm | ||
man | ||
old-tests | ||
po | ||
report-generators | ||
reports | ||
scripts | ||
test | ||
tools | ||
udev | ||
unit-tests | ||
configure | ||
configure.in | ||
COPYING | ||
COPYING.LIB | ||
INSTALL | ||
make.tmpl.in | ||
Makefile.in | ||
README | ||
VERSION | ||
VERSION_DM | ||
WHATS_NEW | ||
WHATS_NEW_DM |
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://sources.redhat.com/pub/lvm2/ To access the CVS tree use: cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 login CVS password: cvs cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 co LVM2 Mailing list for general discussion related to LVM2: linux-lvm@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm Mailing list for LVM2 development, patches and commits: lvm-devel@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm 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