Hide Forgot
Description of problem: [root@taft-01 ~]# lvs LV VG Attr LSize Log Copy% split_multiple_images split_image mwi-a- 300.00m split_multiple_images_mlog 100.00 [root@taft-01 ~]# lvconvert --splitmirrors 2 --name new split_image/split_multiple_images Internal error: Performing unsafe table load while 7 device(s) are known to be suspended: (253:10) Internal error: Performing unsafe table load while 7 device(s) are known to be suspended: (253:7) Logical volume split_multiple_images converted. Version-Release number of selected component (if applicable): 2.6.32-188.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: Every time
Bug in _split_mirror_images() in mirror.c: It has the sequence suspend, commit, activate, resume. That sequence is not permitted - it must be suspend, commit, resume. The activate has to be handled another way e.g. before, after, or implicitly by the existing suspend+resume detecting the requirement for it and handling it internally.
The error message is a new message to detect bugs like this so we can get them fixed. The bug itself is not a regression, as it'll have been doing the wrong thing for a long time. But in the unlikely event we find it impossible to fix this and any other similar bugs before the release, we'll disable the error message and hide the bugs again.
committed upstream for LVM version 2.02.89
Created attachment 521084 [details] Patch committed upstream to fix this bug.
Fix verified. No longer seeing the "Performing unsafe table load" errors while splitting images. 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 SCENARIO - [split_off_multiple_images] Create a mirror with many legs and then split off multiple images creating multiple mirrors taft-01: lvcreate -m 4 -n split_multiple_images -L 300M split_image Waiting until all mirrors become fully syncd... 0/1 mirror(s) are fully synced: ( 79.17% ) 1/1 mirror(s) are fully synced: ( 100.00% ) splitting off multiple legs... Deactivating mirror new... and removing Deactivating mirror split_multiple_images... and removing
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: Before, an improper activation sequence was used while performing an image split operation. That caused a device-mapper table to be loaded while some of devices processed were known to be suspended. This has been fixed and the activation sequence has been reordered so that the table is always loaded at proper time.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -Before, an improper activation sequence was used while performing an image split operation. That caused a device-mapper table to be loaded while some of devices processed were known to be suspended. This has been fixed and the activation sequence has been reordered so that the table is always loaded at proper time.+Before, an improper activation sequence was used while performing an image split operation. That caused a device-mapper table to be loaded while some of processed devices were known to be suspended. This has been fixed and the activation sequence has been reordered so that the table is always loaded at proper time.
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