Bug 2185291

Summary: as vdoLogicalSize 32T approaches 32T limit, the converted LV size reverts to 1.95t
Product: Red Hat Enterprise Linux 8 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: LVM Team <lvm-team>
lvm2 sub component: VDO QA Contact: Zdenek Kabelac <zkabelac>
Status: NEW --- Docs Contact:
Severity: medium    
Priority: unspecified CC: agk, awalsh, heinzm, jbrassow, prajnoha, zkabelac
Version: 8.7Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:

Description Corey Marthaler 2023-04-07 19:43:07 UTC
Description of problem:

This appears similar/related to bug 1996227.


# 30T

SCENARIO - large_vdo_logical_size_convert_to_lvm:  Test the basic conversion of a large (4t) logical sized existent vdo volume to lvm (1996227)
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 30T --device /dev/sda1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 998 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 6 volume is ready at /dev/mapper/lvm_import_vdo_sanity

lvm_import_vdo --yes /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1
WARNING: Heartbeat did not respond at start of command.  Check btimed service on remote host
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:30.00t

[root@virt-247 ~]# lvs -a -o +devices
  LV                    VG            Attr       LSize   Pool          Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices               
  vdolvol               vdovg         vwi-a-v---  30.00t vdolvol_vpool        0.00                                    vdolvol_vpool(0)      
  vdolvol_vpool         vdovg         dwi-------   1.95t                      0.27                                    vdolvol_vpool_vdata(0)
  [vdolvol_vpool_vdata] vdovg         Dwi-ao----   1.95t                                                              /dev/sda1(0)          
 


# 31T

SCENARIO - large_vdo_logical_size_convert_to_lvm:  Test the basic conversion of a large (4t) logical sized existent vdo volume to lvm (1996227)
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 31T --device /dev/sda1
WARNING: Heartbeat did not respond at start of command.  Check btimed service on remote host
Creating VDO lvm_import_vdo_sanity
      Found existing signature on /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1 at offset 536: LABEL="(null)" UUID="KqJMTR-VKYa-zg1i-2c05-6kJD-RVC5-dtWNuG" TYPE="LVM2_member" USAGE="raid".
      Formatting device already containing a known signature.
      The VDO volume can address 1 TB in 998 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 8 volume is ready at /dev/mapper/lvm_import_vdo_sanity

lvm_import_vdo --yes /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:31.00t

[root@virt-247 ~]# lvs -a -o +devices
  LV                    VG            Attr       LSize   Pool          Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices               
  vdolvol               vdovg         vwi-a-v---  31.00t vdolvol_vpool        0.00                                    vdolvol_vpool(0)      
  vdolvol_vpool         vdovg         dwi-------   1.95t                      0.27                                    vdolvol_vpool_vdata(0)
  [vdolvol_vpool_vdata] vdovg         Dwi-ao----   1.95t                                                              /dev/sda1(0)          



# 32T

SCENARIO - large_vdo_logical_size_convert_to_lvm:  Test the basic conversion of a large (4t) logical sized existent vdo volume to lvm (1996227)
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 32T --device /dev/sda1
WARNING: Heartbeat did not respond at start of command.  Check btimed service on remote host
Creating VDO lvm_import_vdo_sanity
      Found existing signature on /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1 at offset 536: LABEL="(null)" UUID="8FJcmZ-bMwj-5Vjh-aXih-34RB-owru-9WGtkF" TYPE="LVM2_member" USAGE="raid".
      Formatting device already containing a known signature.
      The VDO volume can address 1 TB in 998 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 10 volume is ready at /dev/mapper/lvm_import_vdo_sanity

lvm_import_vdo --yes /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-1LIO-ORGcluster147063-d:d6011f2b-3f53-48eb-8e8d-8e8bc6bd70c2-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  Volume too large (32.00 TiB) for extent size 8.00 KiB. Upper limit is less than <32.00 TiB.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:1.95t

[root@virt-247 ~]# lvs -a -o +devices
  LV                    VG            Attr       LSize   Pool          Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices               
  vdolvol               vdovg         vwi-a-v---   1.95t vdolvol_vpool        0.00                                    vdolvol_vpool(0)      
  vdolvol_vpool         vdovg         dwi-------   1.95t                      0.27                                    vdolvol_vpool_vdata(0)
  [vdolvol_vpool_vdata] vdovg         Dwi-ao----   1.95t                                                              /dev/sda1(0)          


Version-Release number of selected component (if applicable):
kernel-4.18.0-477.7.1.el8_8    BUILT: Thu Mar 30 16:50:52 CEST 2023
lvm2-2.03.14-9.el8    BUILT: Thu Dec  8 17:40:55 CET 2022
lvm2-libs-2.03.14-9.el8    BUILT: Thu Dec  8 17:40:55 CET 2022


How reproducible:
Everytime