Bug 1272175 - lvconvert doesn't report progress while waiting for mirror to get synced with lvmpolld enabled
lvconvert doesn't report progress while waiting for mirror to get synced with...
Product: Fedora
Classification: Fedora
Component: lvm2 (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Ondrej Kozina
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2015-10-15 12:22 EDT by Ondrej Kozina
Modified: 2015-10-30 12:01 EDT (History)
11 users (show)

See Also:
Fixed In Version: lvm2-2.02.133-1.fc24
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-10-30 12:01:55 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Ondrej Kozina 2015-10-15 12:22:04 EDT
Version-Release number of selected component (if applicable):

How reproducible: always when source lv (xx/lv1 in example) is of segment type linear

Steps to Reproduce:
1. lvconvert --interval 1 --type mirror -m2 xx/lv1

Actual results:
No progress reported when using lvmpolld. While 
lvconvert --config "global { use_lvmpolld = 0 }" --interval 1 --type mirror -m2 xx/lv1 works as expected

Expected results:
[root@frawhide ~]# lvconvert --interval 1 --type mirror -m2 xx/lv1
  xx/lv1: Converted: 0,0%
  xx/lv1: Converted: 7,9%
  xx/lv1: Converted: 13,2%
  xx/lv1: Converted: 21,1%
  xx/lv1: Converted: 26,3%
  xx/lv1: Converted: 34,2%
  xx/lv1: Converted: 42,1%
  xx/lv1: Converted: 47,4%
  xx/lv1: Converted: 55,3%
  xx/lv1: Converted: 63,2%
  xx/lv1: Converted: 68,4%
  xx/lv1: Converted: 76,3%
  xx/lv1: Converted: 84,2%
  xx/lv1: Converted: 92,1%
  xx/lv1: Converted: 100,0
Comment 1 Ondrej Kozina 2015-10-16 09:30:01 EDT
Curiouser and curiouser... same command with --background option added won't contact lvmpolld at all!
Comment 2 Ondrej Kozina 2015-10-20 05:14:49 EDT
This one was a bit tricky.

While converting non-mirror type LV to mirror one the conversion is instant. In other words there's no need to poll the lvconvert operation when source LV is not a mirror type in the beginning of the lvconvert process. That's also the reason why with --background option lvmpolld is not even started. In such case the reported percentage in the foreground mode is not the percentage of conversion completed so far but in-sync progress info of both mirror legs instead. The lv status type in this particular case is not set to CONVERTING either.

On the other hand when we upconvert i.e. two leg mirror to a three leg one, the CONVERTING status is set (also visible in lvs output) and a real conversion is started. The conversion requires polling no matter if lvconvert is initiated in background mode or foreground mode because in the end of conversion the cleanup has to be done by lvmpolld initiated lvpoll command.

Note You need to log in before you can comment on or make changes to this bug.