Bug 612248 - splitting off the last mirror image causes error messages
splitting off the last mirror image causes error messages
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: lvm2 (Show other bugs)
6.0
All Linux
medium Severity medium
: rc
: ---
Assigned To: Jonathan Earl Brassow
Corey Marthaler
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-07 12:35 EDT by Corey Marthaler
Modified: 2010-11-10 16:08 EST (History)
8 users (show)

See Also:
Fixed In Version: lvm2-2.02.72-2.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-10 16:08:20 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Corey Marthaler 2010-07-07 12:35:24 EDT
Description of problem:
[root@grant-02 ~]# lvs -a -o +devices
  LV                VG         Attr   LSize   Log         Copy%  Convert Devices
  mirror            grant      mwi-a- 100.00m mirror_mlog 100.00         mirror_mimage_0(0),mirror_mimage_1(0),mirror_mimage_2(0)
  [mirror_mimage_0] grant      iwi-ao 100.00m                            /dev/sdb1(0)
  [mirror_mimage_1] grant      iwi-ao 100.00m                            /dev/sdb2(0)
  [mirror_mimage_2] grant      iwi-ao 100.00m                            /dev/sdc1(0)
  [mirror_mlog]     grant      lwi-ao   4.00m                            /dev/sdc2(0)

[root@grant-02 ~]# lvconvert --splitmirrors 1 --name newA grant/mirror /dev/sdc1
  Logical volume mirror converted.

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

[root@grant-02 ~]# lvconvert --splitmirrors 1 --name newB grant/mirror /dev/sdb2
  Internal error: _memlock_count has dropped below 0.
  Internal error: _memlock_count has dropped below 0.
  Logical volume mirror converted.

[root@grant-02 ~]# lvs -a -o +devices
  LV      VG         Attr   LSize   Log Copy%  Convert Devices
  mirror  grant      -wi-a- 100.00m                    /dev/sdb1(0)
  newA    grant      -wi-a- 100.00m                    /dev/sdc1(0)
  newB    grant      -wi-a- 100.00m                    /dev/sdb2(0)


Version-Release number of selected component (if applicable):
lvm2-2.02.69-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
lvm2-libs-2.02.69-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
lvm2-cluster-2.02.69-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
device-mapper-1.02.51-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
device-mapper-libs-1.02.51-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
device-mapper-event-1.02.51-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
device-mapper-event-libs-1.02.51-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010
cmirror-2.02.69-2.el6    BUILT: Fri Jul  2 07:26:01 CDT 2010

How reproducible:
everytime
Comment 1 Peter Rajnoha 2010-07-09 08:01:48 EDT
(In reply to comment #0)
> [root@grant-02 ~]# lvconvert --splitmirrors 1 --name newB grant/mirror
> /dev/sdb2
>   Internal error: _memlock_count has dropped below 0.
>   Internal error: _memlock_count has dropped below 0.
>   Logical volume mirror converted.

Well, in this case, while splitting off the mirror in _split_mirror_image fn, a suspend is called for the original device tree as a whole. This calls just one memlock_inc internally for the tree.

When trying to resume particular devices (not the whole tree) just after that, memlock_dec gets called as many times as the resume is called, resulting in that _memlock_count to drop below 0...
Comment 3 Jonathan Earl Brassow 2010-07-12 10:31:02 EDT
Preliminary patch sent to lvm-devel
Comment 4 Jonathan Earl Brassow 2010-07-13 17:55:08 EDT
pending version 2.02.71
Comment 5 RHEL Product and Program Management 2010-07-15 09:58:31 EDT
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **
Comment 8 Corey Marthaler 2010-07-28 19:07:20 EDT
Fix verified in the latest build.

2.6.32-52.el6.x86_64

lvm2-2.02.72-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
lvm2-libs-2.02.72-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
lvm2-cluster-2.02.72-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
udev-147-2.21.el6    BUILT: Mon Jul 12 04:55:00 CDT 2010
device-mapper-1.02.53-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
device-mapper-libs-1.02.53-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
device-mapper-event-1.02.53-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
device-mapper-event-libs-1.02.53-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
cmirror-2.02.72-3.el6    BUILT: Wed Jul 28 15:39:43 CDT 2010
Comment 9 releng-rhel@redhat.com 2010-11-10 16:08:20 EST
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

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