]> sourceware.org Git - lvm2.git/commit
This patch fixes a problem where the mirror polling process
authorJonathan Earl Brassow <jbrassow@redhat.com>
Thu, 26 Aug 2010 16:29:12 +0000 (16:29 +0000)
committerJonathan Earl Brassow <jbrassow@redhat.com>
Thu, 26 Aug 2010 16:29:12 +0000 (16:29 +0000)
commitfe8b1db933d598e3acbd731b5133666c172168a3
tree15a890deb40d2b85afbe7a435c21bfb5f27651cd
parent8fdd90eb403ff5aeb97f7acbd6a30734e758f2b4
This patch fixes a problem where the mirror polling process
may never complete.

If you convert from a linear to a mirror and then convert that
mirror back to linear /while/ the previous (up)convert is
taking place, the mirror polling process will never complete.
This is because the function that polls the mirror for
completion doesn't check if it is still polling a mirror and
the copy_percent that it gets back from the linear device is
certainly never 100%.

The fix is simply to check if the daemon is still looking at
a mirror device - if not, return PROGRESS_CHECK_FAILED.

The user sees the following output from the first (up)convert
if someone else sneaks in and does a down-convert shortly
after their convert:
[root@bp-01 ~]# lvconvert -m1 vg/lv
  vg/lv: Converted: 43.4%
  ABORTING: Mirror percentage check failed.
WHATS_NEW
tools/polldaemon.c
This page took 0.040987 seconds and 5 git commands to generate.