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
Ondrej Kozina 01b06cb71b polldaemon.c: modify log levels in report_progress
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.
2015-05-21 11:20:11 +02:00
autoconf autoconf: Update config.guess/sub to 2014-01-01. 2014-01-21 22:00:15 +00:00
conf example.conf.in: apply previous improvements to example.conf 2015-05-15 20:32:58 +02:00
daemons lvmetad: Provide entire pvmeta sections for outdated_pvs. 2015-05-20 19:46:14 +02:00
doc lvmpolld: Add standalone polldaemon. 2015-05-09 00:59:18 +01:00
include makefiles: better clean 2015-05-18 12:45:42 +02:00
lib format_text: Parse (optional) outdated_pvs section in VG metadata. 2015-05-20 19:46:14 +02:00
libdaemon libdaemon: fprintf(stderr...) -> ERROR() 2015-05-15 20:31:42 +02:00
libdm makefiles: better clean 2015-05-18 12:45:42 +02:00
liblvm makefiles: better clean 2015-05-18 12:45:42 +02:00
man lvmpolld.8.in: man page rewrite 2015-05-15 20:33:47 +02:00
nix nix: socat for f18, nc for f17 2015-05-14 15:01:01 +02:00
old-tests report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
po makefiles: disable po file targes 2015-05-14 14:19:40 +02:00
python python: Check for NULL value before constructing string property 2015-05-06 08:51:04 -05:00
report-generators add copyright notices to new files 2010-07-28 12:20:38 +00:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts lvmdump.sh: print out lvmpolld service status 2015-05-11 19:07:47 +02:00
spec spec: new man page 2015-05-15 21:31:28 +02:00
test tests: add test for duplicate pvs 2015-05-19 11:02:53 -05:00
tools polldaemon.c: modify log levels in report_progress 2015-05-21 11:20:11 +02:00
udev makefiles: compile files on make 2014-04-18 16:38:49 +02:00
unit-tests cleanup: use DM_ARRAY_SIZE 2014-04-08 11:00:15 +02:00
.gitignore gitignore: Ignore files ending in ~ 2012-06-11 16:13:02 +01:00
acinclude.m4 configure: detect st_ctim 2015-03-18 13:42:24 +01:00
aclocal.m4 configure: LOCALEDIR needs evaluated value 2015-05-18 13:06:34 +02:00
configure configure: fix missing [ 2015-05-20 09:32:03 +02:00
configure.in configure: fix missing [ 2015-05-20 09:32:03 +02:00
COPYING Outline docs 2001-12-31 16:12:40 +00: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 makefiles: use bash subshell 2015-05-20 09:33:51 +02:00
Makefile.in makefiles: use fullpath when in assign 2015-05-14 00:19:32 +02:00
README README: fix link to lvm-devel mailing list 2015-03-31 15:44:00 +02:00
VERSION post-release 2015-05-15 23:28:47 +01:00
VERSION_DM post-release 2015-05-15 23:28:47 +01:00
WHATS_NEW WHATS_NEW: various updates 2015-05-19 21:01:24 +02:00
WHATS_NEW_DM post-release 2015-05-15 23:28:47 +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://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.