Bug 732142 - "Internal error: Performing unsafe table load" error during mirror image split
Summary: "Internal error: Performing unsafe table load" error during mirror image split
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: lvm2
Version: 6.2
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Jonathan Earl Brassow
QA Contact: Corey Marthaler
URL:
Whiteboard:
Depends On:
Blocks: 743047 749359
TreeView+ depends on / blocked
 
Reported: 2011-08-19 23:14 UTC by Corey Marthaler
Modified: 2011-12-06 16:59 UTC (History)
9 users (show)

Fixed In Version: lvm2-2.02.87-2.el6
Doc Type: Bug Fix
Doc Text:
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.
Clone Of:
: 749359 (view as bug list)
Environment:
Last Closed: 2011-12-06 16:59:49 UTC


Attachments (Terms of Use)
Patch committed upstream to fix this bug. (8.10 KB, patch)
2011-09-01 19:28 UTC, Jonathan Earl Brassow
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1522 normal SHIPPED_LIVE lvm2 bug fix and enhancement update 2011-12-06 00:50:10 UTC

Description Corey Marthaler 2011-08-19 23:14:02 UTC
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

Comment 1 Alasdair Kergon 2011-08-19 23:44:21 UTC
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.

Comment 2 Alasdair Kergon 2011-08-19 23:51:52 UTC
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.

Comment 4 Jonathan Earl Brassow 2011-09-01 19:27:47 UTC
committed upstream for LVM version 2.02.89

Comment 5 Jonathan Earl Brassow 2011-09-01 19:28:48 UTC
Created attachment 521084 [details]
Patch committed upstream to fix this bug.

Comment 7 Corey Marthaler 2011-09-27 19:54:58 UTC
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

Comment 8 Peter Rajnoha 2011-10-27 07:49:40 UTC
    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.

Comment 9 Peter Rajnoha 2011-10-27 07:51:21 UTC
    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.

Comment 10 errata-xmlrpc 2011-12-06 16:59:49 UTC
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


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