Bug 684055

Summary: RFE: Allow the up conversion of mirrors containing snap volumes
Product: Red Hat Enterprise Linux 6 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: Jonathan Earl Brassow <jbrassow>
Status: CLOSED WONTFIX QA Contact: Corey Marthaler <cmarthal>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: agk, dwysocha, heinzm, jbrassow, prajnoha, prockai, ssaha, thornber, zkabelac
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-07 20:55:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 756082    

Description Corey Marthaler 2011-03-11 00:11:46 UTC
Description of problem:
[root@taft-02 ~]# lvcreate -m 1 -n mirror -L 100M taft
  Logical volume "mirror" created

[root@taft-02 ~]# lvs -a -o +devices
  LV                VG        Attr   LSize   Origin Snap%  Log         Copy%  Devices
  mirror            taft      mwi-a- 100.00m               mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0)
  [mirror_mimage_0] taft      iwi-ao 100.00m                                  /dev/sdb1(0)
  [mirror_mimage_1] taft      iwi-ao 100.00m                                  /dev/sdc1(0)
  [mirror_mlog]     taft      lwi-ao   4.00m                                  /dev/sdh1(0)

[root@taft-02 ~]# lvcreate -s taft/mirror -L 12M -n snap
  Logical volume "snap" created

[root@taft-02 ~]# lvs -a -o +devices
  LV                VG        Attr   LSize   Origin Snap%  Log         Copy%  Devices
  mirror            taft      owi-a- 100.00m               mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0)
  [mirror_mimage_0] taft      iwi-ao 100.00m                                  /dev/sdb1(0)
  [mirror_mimage_1] taft      iwi-ao 100.00m                                  /dev/sdc1(0)
  [mirror_mlog]     taft      lwi-ao   4.00m                                  /dev/sdh1(0)
  snap              taft      swi-a-  12.00m mirror   0.00                    /dev/sdb1(25)

[root@taft-02 ~]# lvconvert -m 2 taft/mirror
  Can't add additional mirror images to mirrors that are under snapshots


This cause mirrors with snaps to be unable to allocate during leg failure:
Mar 10 17:56:07 taft-02 lvm[3085]: Monitoring snapshot helter_skelter-hs_snap1
Mar 10 17:56:07 taft-02 lvm[3085]: Monitoring mirror device helter_skelter-syncd_multiple_legs_4legs_1-real for events.
Mar 10 17:56:07 taft-02 lvm[3085]: Trying to up-convert to 4 images, 1 logs.
Mar 10 17:56:07 taft-02 lvm[3085]: Can't add additional mirror images to mirrors that are under snapshots
Mar 10 17:56:07 taft-02 lvm[3085]: Trying to up-convert to 3 images, 1 logs.
Mar 10 17:56:07 taft-02 lvm[3085]: Can't add additional mirror images to mirrors that are under snapshots
Mar 10 17:56:07 taft-02 lvm[3085]: Trying to up-convert to 2 images, 1 logs.
Mar 10 17:56:07 taft-02 lvm[3085]: Another thread is handling an event. Waiting...
Mar 10 17:56:07 taft-02 lvm[3085]: Monitoring snapshot helter_skelter-hs_snap1
Mar 10 17:56:07 taft-02 lvm[3085]: Monitoring mirror device helter_skelter-syncd_multiple_legs_4legs_1-real for events.
Mar 10 17:56:07 taft-02 lvm[3085]: Another thread is handling an event. Waiting...
Mar 10 17:56:07 taft-02 lvm[3085]: WARNING: Failed to replace 2 of 4 images in volume syncd_multiple_legs_4legs_1
Mar 10 17:56:07 taft-02 lvm[3085]: 2 missing and now unallocated Physical Volumes removed from VG.
Mar 10 17:56:07 taft-02 lvm[3085]: Repair of mirrored LV helter_skelter/syncd_multiple_legs_4legs_1 finished successfully.


Version-Release number of selected component (if applicable):
2.6.32-94.el6.x86_64

lvm2-2.02.83-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
lvm2-libs-2.02.83-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
lvm2-cluster-2.02.83-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
udev-147-2.31.el6    BUILT: Wed Jan 26 05:39:15 CST 2011
device-mapper-1.02.62-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
device-mapper-libs-1.02.62-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
device-mapper-event-1.02.62-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
device-mapper-event-libs-1.02.62-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011
cmirror-2.02.83-2.el6    BUILT: Tue Feb  8 10:10:57 CST 2011


How reproducible:
Everytime

Comment 3 Peter Rajnoha 2012-01-04 12:42:26 UTC
This RFE has lower priority compared to other requests and more work is needed for this to be complete, comment in the code also says:

  /*
  * We allow snapshots of mirrors, but for now, we
  * do not allow up converting mirrors that are under
  * snapshots.  The layering logic is somewhat complex,
  * and preliminary test show that the conversion can't
  * seem to get the correct %'age of completion.
  */

Comment 5 Jonathan Earl Brassow 2012-06-07 20:46:27 UTC
Devel Nacking this bug.

The "mirror" segment type is slowly being supplanted by the "raid1" segment type.  Features like this should be added to "raid1" segment type.

Comment 6 RHEL Program Management 2012-06-07 20:55:10 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.