mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository
https://sourceware.org/lvm2/
01b06cb71b
There's a race when asking lvmpolld about progress_status and actually reading the progress info from kernel: Even with lvmpolld being used we read status info from LVM2 command issued by a user (client side from lvmpolld perspective). The whole cycle may look like following: 1) set up an operation that requires polling (i.e. pvmove /dev/sda) 2) notify lvmpolld about such operation (lvmpolld_poll_init()) 3) in case 1) was not called with --background it would continue with: 4) Ask lvmpolld about progress status. it may respond with one of: a) in_progress b) not_found c) finished d) any low level error 5) provided the answer was 4a) try to read progress info from polling LV (i.e. vg00/pvmove1). Repeat steps 4) and 5) until the answer is != 4a). And now we got into racy configuration: lvmpolld answered with in_progress but it may be the that in_between 4) and 5) the operation has already finished and polling LV is already gone or there's nothing to ask for. Up to now, 5) would report warning and it could print such warning many times if --interval was set to 0. We don't want to scary users by warnings in such situation so let's just print these messages in verbose mode. Error messages due to error while reading kernel status info (on existing, active and locked LV) remained the same. |
||
---|---|---|
autoconf | ||
conf | ||
daemons | ||
doc | ||
include | ||
lib | ||
libdaemon | ||
libdm | ||
liblvm | ||
man | ||
nix | ||
old-tests | ||
po | ||
python | ||
report-generators | ||
reports | ||
scripts | ||
spec | ||
test | ||
tools | ||
udev | ||
unit-tests | ||
.gitignore | ||
acinclude.m4 | ||
aclocal.m4 | ||
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/ The source code is stored in git: http://git.fedorahosted.org/git/lvm2.git git clone git://git.fedorahosted.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.