Bug 1221372

Summary: thinp tools do not handle over large metadata devices
Product: Red Hat Enterprise Linux 6 Reporter: Corey Marthaler <cmarthal>
Component: device-mapper-persistent-dataAssignee: Peter Rajnoha <prajnoha>
Status: CLOSED ERRATA QA Contact: Bruno Goncalves <bgoncalv>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.7CC: agk, bgoncalv, cmarthal, heinzm, jbrassow, kernel-qe, lvm-team, msnitzer, prajnoha, prockai, thornber, zkabelac
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: device-mapper-persistent-data-0.5.6-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1208088 Environment:
Last Closed: 2016-05-11 01:12:34 UTC Type: Bug
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: 1208088    
Bug Blocks:    

Comment 1 Corey Marthaler 2015-05-13 21:31:35 UTC
Exists in the latest 6.7 as well.

[root@host-118 ~]# lvs -a -o +devices snapper_thinp/newtmeta
  LV       Attr       LSize   Pool Origin Data%  Meta% Devices       
  newtmeta -wi-a----- 100.00g                          /dev/sdb1(0)  
  newtmeta -wi-a----- 100.00g                          /dev/sdd1(0)  
  newtmeta -wi-a----- 100.00g                          /dev/sdf1(0)  
  newtmeta -wi-a----- 100.00g                          /dev/sde1(1)  
  newtmeta -wi-a----- 100.00g                          /dev/sdc1(257)
[root@host-118 ~]# thin_restore -i /tmp/snapper_thinp_dump.8003.10855 -o /dev/snapper_thinp/newtmeta
Segmentation fault (core dumped)



2.6.32-558.el6.x86_64
lvm2-2.02.118-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
lvm2-libs-2.02.118-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
lvm2-cluster-2.02.118-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
udev-147-2.62.el6    BUILT: Thu Apr 23 05:44:37 CDT 2015
device-mapper-1.02.95-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
device-mapper-libs-1.02.95-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
device-mapper-event-1.02.95-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
device-mapper-event-libs-1.02.95-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015
device-mapper-persistent-data-0.3.2-1.el6    BUILT: Fri Apr  4 08:43:06 CDT 2014
cmirror-2.02.118-2.el6    BUILT: Wed Apr 15 06:34:08 CDT 2015

Comment 3 Joe Thornber 2015-10-16 15:55:49 UTC
This was fixed in version 0.5.1 of the tools.  RHEL 6.7 is still using 0.3.2 for some reason.

Comment 8 Corey Marthaler 2016-02-25 20:23:39 UTC
Marking verified in the latest rpms.


2.6.32-616.el6.x86_64
lvm2-2.02.143-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
lvm2-libs-2.02.143-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
lvm2-cluster-2.02.143-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
udev-147-2.71.el6    BUILT: Wed Feb 10 07:07:17 CST 2016
device-mapper-1.02.117-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
device-mapper-libs-1.02.117-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
device-mapper-event-1.02.117-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
device-mapper-event-libs-1.02.117-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016
device-mapper-persistent-data-0.6.2-0.1.rc5.el6    BUILT: Wed Feb 24 07:07:09 CST 2016
cmirror-2.02.143-1.el6    BUILT: Wed Feb 24 07:59:50 CST 2016



SCENARIO - [attempt_thin_restore_to_large_meta_device]
Create a very large (100G) meta device and attempt to thin_restore onto it
Making pool volume
lvcreate  --thinpool POOL -L 1G --profile thin-performance --zero y --poolmetadatasize 4M snapper_thinp

Sanity checking pool device (POOL) metadata
lvcreate -L 4M -n meta_swap snapper_thinp
lvconvert --yes --thinpool snapper_thinp/POOL --poolmetadata snapper_thinp/meta_swap
lvchange -ay snapper_thinp/meta_swap
thin_check /dev/mapper/snapper_thinp-meta_swap
examining superblock
examining devices tree
examining mapping tree
checking space map counts
meta data NOT corrupt
lvchange -an snapper_thinp/meta_swap
lvconvert --yes --thinpool snapper_thinp/POOL --poolmetadata snapper_thinp/meta_swap
lvremove snapper_thinp/meta_swap
lvchange -ay --yes --select 'lv_name=POOL || pool_lv=POOL'

Making origin volume
lvcreate  --virtualsize 1G -T snapper_thinp/POOL -n origin
lvcreate  --virtualsize 1G -T snapper_thinp/POOL -n other1
  WARNING: Sum of all thin volume sizes (2.00 GiB) exceeds the size of thin pool snapper_thinp/POOL (1.00 GiB)!
lvcreate  -V 1G -T snapper_thinp/POOL -n other2
  WARNING: Sum of all thin volume sizes (3.00 GiB) exceeds the size of thin pool snapper_thinp/POOL (1.00 GiB)!
lvcreate  -V 1G -T snapper_thinp/POOL -n other3
  WARNING: Sum of all thin volume sizes (4.00 GiB) exceeds the size of thin pool snapper_thinp/POOL (1.00 GiB)!
lvcreate  -V 1G -T snapper_thinp/POOL -n other4
  WARNING: Sum of all thin volume sizes (5.00 GiB) exceeds the size of thin pool snapper_thinp/POOL (1.00 GiB)!
lvcreate  -V 1G -T snapper_thinp/POOL -n other5
  WARNING: Sum of all thin volume sizes (6.00 GiB) exceeds the size of thin pool snapper_thinp/POOL (1.00 GiB)!
Making snapshot of origin volume
lvcreate  -k n -s /dev/snapper_thinp/origin -n snap
Extending the snapshot size by +250M
  WARNING: Sum of all thin volume sizes (7.25 GiB) exceeds the size of thin pool snapper_thinp/POOL (1.00 GiB)!
Create new device to swap in as the new _tmeta device
  WARNING: Sum of all thin volume sizes (7.25 GiB) exceeds the size of thin pools (1.00 GiB)!

Dumping current pool (POOL) metadata to /tmp/snapper_thinp_dump.517.10780
  WARNING: Sum of all thin volume sizes (7.25 GiB) exceeds the size of thin pools (1.00 GiB)!

Restoring valid mda to new large (100G) device
thin_restore -i /tmp/snapper_thinp_dump.517.10780 -o /dev/snapper_thinp/newtmeta
truncating metadata device to 4161600 4k blocks

lvremove -f snapper_thinp/newtmeta
Removing snap volume snapper_thinp/snap
lvremove -f /dev/snapper_thinp/snap
Removing thin origin and other virtual thin volumes
Removing thinpool snapper_thinp/POOL

Comment 10 errata-xmlrpc 2016-05-11 01:12:34 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.

https://rhn.redhat.com/errata/RHBA-2016-0960.html