Hide Forgot
Description of problem: When converting a 2-way mirror down to a linear, and specifying the secondary leg to remove, the lvconvert will now fail. # Secondary leg down conversion (w/ corelog) [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft mwi-a- 700.00m 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 700.00m /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 700.00m /dev/sdb2(0) [root@taft-01 ~]# lvconvert --mirrorlog core -m 0 taft/mirror /dev/sdb2 LV taft/mirror_mimage_1 in use: not deactivating [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft -wi-a- 700.00m /dev/sdb1(0) mirror_mimage_0 taft vwi-a- 700.00m mirror_mimage_1 taft -wi-a- 700.00m /dev/sdb2(0) # Secondary leg down conversion (w/ disklog) [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft mwi-a- 700.00m mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 700.00m /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 700.00m /dev/sdb2(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh2(0) [root@taft-01 ~]# lvconvert -m 0 taft/mirror /dev/sdb2 LV taft/mirror_mimage_1 in use: not deactivating [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft -wi-a- 700.00m /dev/sdb1(0) mirror_mimage_0 taft vwi-a- 700.00m mirror_mimage_1 taft -wi-a- 700.00m /dev/sdb2(0) mirror_mlog taft -wi-a- 4.00m /dev/sdh2(0) [cmarthal@silver ~]$ Version-Release number of selected component (if applicable): 2.6.32-191.el6.x86_64 lvm2-2.02.87-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 lvm2-libs-2.02.87-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 lvm2-cluster-2.02.87-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 udev-147-2.37.el6 BUILT: Wed Aug 10 07:48:15 CDT 2011 device-mapper-1.02.66-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 device-mapper-libs-1.02.66-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 device-mapper-event-1.02.66-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 device-mapper-event-libs-1.02.66-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 cmirror-2.02.87-1.el6 BUILT: Fri Aug 12 06:11:57 CDT 2011 How reproducible: Everytime
I don't see any of this: [root@bp-01 lvm2]# lvcreate -m1 --corelog -L 100M -n lv vg Logical volume "lv" created [root@bp-01 lvm2]# devices vg LV Copy% Devices lv 100.00 lv_mimage_0(0),lv_mimage_1(0) [lv_mimage_0] /dev/sdb1(0) [lv_mimage_1] /dev/sdc1(0) [root@bp-01 lvm2]# lvconvert --mirrorlog core -m 0 vg/lv /dev/sdc1 Logical volume lv converted. [root@bp-01 lvm2]# devices vg LV Copy% Devices lv /dev/sdb1(0) [root@bp-01 lvm2]# lvremove -ff vg; dmsetup remove_all Logical volume "lv" successfully removed [root@bp-01 lvm2]# lvcreate -m1 -L 100M -n lv vg Logical volume "lv" created [root@bp-01 lvm2]# devices vg LV Copy% Devices lv 100.00 lv_mimage_0(0),lv_mimage_1(0) [lv_mimage_0] /dev/sdb1(0) [lv_mimage_1] /dev/sdc1(0) [lv_mlog] /dev/sdi1(0) [root@bp-01 lvm2]# lvconvert -m 0 vg/lv /dev/sdc1 Logical volume lv converted. [root@bp-01 lvm2]# devices vg LV Copy% Devices lv /dev/sdb1(0)
The solution is to call sync_local_dev_names() to poke udev before calling deactivate_lv on the error target sub-lv that results from removing the mirror layer. Solution checked in upstream in Version 2.02.89. BEFORE FIX: [root@taft-01 LVM2]# lvcreate -m1 --corelog -L 700M -n lv vg Logical volume "lv" created [root@taft-01 LVM2]# lvs -a -o name,devices vg LV Devices lv lv_mimage_0(0),lv_mimage_1(0) [lv_mimage_0] /dev/sdc1(0) [lv_mimage_1] /dev/sdd1(0) [root@taft-01 LVM2]# lvconvert --mirrorlog core -m 0 vg/lv /dev/sdd1 LV vg/lv_mimage_1 in use: not deactivating AFTER FIX: [root@taft-01 LVM2]# lvcreate -m1 --corelog -L 700M -n lv vg Logical volume "lv" created [root@taft-01 LVM2]# lvs -a -o name,devices vg LV Devices lv lv_mimage_0(0),lv_mimage_1(0) [lv_mimage_0] /dev/sdc1(0) [lv_mimage_1] /dev/sdd1(0) [root@taft-01 LVM2]# lvconvert --mirrorlog core -m 0 vg/lv /dev/sdd1 Logical volume lv converted. [root@taft-01 LVM2]# lvs -a -o name,devices vg LV Devices lv /dev/sdc1(0)
git commit ID: eb0af241f163c6a3cc179534836aa2c15dbd2b21
I was unable to reproduce this issue with the latest scratch built rpms. 2.6.32-195.el6.x86_64 lvm2-2.02.87-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 lvm2-libs-2.02.87-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 lvm2-cluster-2.02.87-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 udev-147-2.38.el6 BUILT: Fri Sep 9 16:25:50 CDT 2011 device-mapper-1.02.66-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 device-mapper-libs-1.02.66-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 device-mapper-event-1.02.66-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 device-mapper-event-libs-1.02.66-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 cmirror-2.02.87-2.1.el6 BUILT: Wed Sep 14 09:44:16 CDT 2011 [root@taft-01 ~]# lvcreate -m 1 --mirrorlog core -L 700M -n mirror taft Logical volume "mirror" created [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft mwi-a- 700.00m 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 700.00m /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 700.00m /dev/sdc1(0) [root@taft-01 ~]# lvconvert --mirrorlog core -m 0 taft/mirror /dev/sdc1 Logical volume mirror converted. [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Convert Devices mirror taft -wi-a- 700.00m /dev/sdb1(0) [root@taft-01 ~]# lvcreate -m 1 -L 700M -n mirror taft Logical volume "mirror" created [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft mwi-a- 700.00m mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 700.00m /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 700.00m /dev/sdc1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) [root@taft-01 ~]# lvconvert -m 0 taft/mirror /dev/sdc1 Logical volume mirror converted.
Fix verified in the latest official rpms. 2.6.32-198.el6.x86_64 lvm2-2.02.87-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 lvm2-libs-2.02.87-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 lvm2-cluster-2.02.87-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 udev-147-2.38.el6 BUILT: Fri Sep 9 16:25:50 CDT 2011 device-mapper-1.02.66-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 device-mapper-libs-1.02.66-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 device-mapper-event-1.02.66-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 device-mapper-event-libs-1.02.66-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011 cmirror-2.02.87-3.el6 BUILT: Wed Sep 21 09:54:55 CDT 2011
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Do not document.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2011-1522.html