Bug 738832

Summary: core to disk log conversion fails: Internal error: _alloc_parallel_area called without any allocation to do
Product: Red Hat Enterprise Linux 6 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: Jonathan Earl Brassow <jbrassow>
Status: CLOSED ERRATA QA Contact: Corey Marthaler <cmarthal>
Severity: high Docs Contact:
Priority: high    
Version: 6.2CC: agk, dwysocha, heinzm, jbrassow, mbroz, prajnoha, prockai, thornber, zkabelac
Target Milestone: rcKeywords: Regression, TestBlocker
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.02.87-3.el6 Doc Type: Bug Fix
Doc Text:
Do not document.
Story Points: ---
Clone Of:
: 754598 (view as bug list) Environment:
Last Closed: 2011-12-06 17:03:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 743047, 754598    

Description Corey Marthaler 2011-09-15 23:27:29 UTC
Description of problem:
This was a cmirror test case:

SCENARIO - [looping_mirror_log_converts]
Create a core log mirror and then convert it's log from core to disk to mirrored 20 times
grant-03: lvcreate -m 1 -n mirror_log_convert --mirrorlog core -l 19180 mirror_sanity /dev/sdb3 /dev/sdb2 /dev/sdb1 /dev/sdc3

Convert loop 1
Convert to disk log
grant-01: lvconvert -m 1 --mirrorlog disk /dev/mirror_sanity/mirror_log_convert
  Internal error: _alloc_parallel_area called without any allocation to do.
  Internal error: _alloc_parallel_area called without any allocation to do.
  Internal error: _alloc_parallel_area called without any allocation to do.
  Insufficient suitable allocatable extents for logical volume : 0 more required
  Unable to allocate extents for mirror log.
converting to disk log failed



Here the test case step by step:

[root@grant-01 ~]# vgs
  VG            #PV #LV #SN Attr   VSize   VFree  
  mirror_sanity   6   0   0 wz--nc 476.80g 476.80g

[root@grant-01 ~]# lvcreate -m 1 -n mirror_log_convert --mirrorlog core -l 19180 mirror_sanity /dev/sdb3 /dev/sdb2 /dev/sdb1 /dev/sdc3
  Logical volume "mirror_log_convert" created

[root@grant-01 ~]# lvs -a -o +devices
  LV                            VG            Attr   LSize  Log Copy% Devices                                                      
  mirror_log_convert            mirror_sanity mwi-a- 74.92g     1.24  mirror_log_convert_mimage_0(0),mirror_log_convert_mimage_1(0)
  [mirror_log_convert_mimage_0] mirror_sanity Iwi-ao 74.92g           /dev/sdc3(0)                                                 
  [mirror_log_convert_mimage_0] mirror_sanity Iwi-ao 74.92g           /dev/sdb2(0)                                                 
  [mirror_log_convert_mimage_1] mirror_sanity Iwi-ao 74.92g           /dev/sdb3(0)                                                 
  [mirror_log_convert_mimage_1] mirror_sanity Iwi-ao 74.92g           /dev/sdb1(0)                                                 

[root@grant-01 ~]# pvscan
  PV /dev/sdc3   VG mirror_sanity   lvm2 [90.82 GiB / 22.71 GiB free]
  PV /dev/sdc2   VG mirror_sanity   lvm2 [90.82 GiB / 90.82 GiB free]
  PV /dev/sdc1   VG mirror_sanity   lvm2 [90.82 GiB / 90.82 GiB free]
  PV /dev/sdb3   VG mirror_sanity   lvm2 [68.11 GiB / 0    free]
  PV /dev/sdb2   VG mirror_sanity   lvm2 [68.11 GiB / 61.30 GiB free]
  PV /dev/sdb1   VG mirror_sanity   lvm2 [68.11 GiB / 61.30 GiB free]

[root@grant-01 ~]# lvconvert -m 1 --mirrorlog disk /dev/mirror_sanity/mirror_log_convert
  Internal error: _alloc_parallel_area called without any allocation to do.
  Internal error: _alloc_parallel_area called without any allocation to do.
  Internal error: _alloc_parallel_area called without any allocation to do.
  Insufficient suitable allocatable extents for logical volume : 0 more required
  Unable to allocate extents for mirror log.


Version-Release number of selected component (if applicable):
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


How reproducible:
Every time

Comment 1 Jonathan Earl Brassow 2011-09-16 18:40:17 UTC
Fix checked in upstream in Version 2.02.89.

Comment 3 Corey Marthaler 2011-09-26 20:15:33 UTC
No longer seeing the "_alloc_parallel_area called without any allocation to do" error. Marking verified.


SCENARIO - [looping_mirror_log_converts]
Create a core log mirror and then convert it's log from core to disk to mirrored 20 times
taft-04: lvcreate -m 1 -n mirror_log_convert --mirrorlog core -l 19100 mirror_sanity /dev/sdh2 /dev/sdh1 /dev/sdg2 /dev/sdg1
Skipping redundant logged cmirrors are not supported

Convert loop 1
Convert to disk log
taft-02: lvconvert -m 1 --mirrorlog disk /dev/mirror_sanity/mirror_log_convert
Verifying that mirror redundancy isn't lost
Convert back to core log
[...]
Convert loop 20
Convert to disk log
taft-03: lvconvert -m 1 --mirrorlog disk /dev/mirror_sanity/mirror_log_convert
Verifying that mirror redundancy isn't lost
Convert back to core log
Deactivating mirror mirror_log_convert... and removing


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

Comment 4 Peter Rajnoha 2011-10-26 13:03:27 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:
Do not document.

Comment 5 errata-xmlrpc 2011-12-06 17:03:18 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