Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-103569

attempting to convert an undersized volume to thinpool data with backing vdo (---pooldatavdo) should gracefully fail

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhel-9.7
    • lvm2 / VDO
    • None
    • No
    • Moderate
    • rhel-storage-lvm
    • 3
    • Dev ack
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • x86_64
    • None

      kernel-5.14.0-597.el9    BUILT: Fri Jul  4 07:37:15 PM CEST 2025
      lvm2-2.03.32-2.el9    BUILT: Tue Jun  3 01:49:02 PM CEST 2025
      lvm2-libs-2.03.32-2.el9    BUILT: Tue Jun  3 01:49:02 PM CEST 2025
      kmod-kvdo-8.2.6.3-169.el9    BUILT: Tue Jul  8 07:23:43 PM CEST 2025
       
       
      # NORMAL SIZED volume to convert to thinpool with backing vdo volume for pool
      [root@virt-484 ~]# lvcreate --yes --type linear -n convert_pool  -L 12G thinpool_sanity
        Logical volume "convert_pool" created.
       
      [root@virt-484 ~]# lvconvert --yes --type thin-pool --pooldatavdo y thinpool_sanity/convert_pool
        Thin pool volume with chunk size 64.00 KiB can address at most <15.88 TiB of data.
        WARNING: Converting thinpool_sanity/convert_pool to thin pool's data volume with metadata wiping.
        THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
          The VDO volume can address 8 GB in 4 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.
        Logical volume "convert_pool" created.
        Converted thinpool_sanity/convert_pool to thin pool.
       
      [root@virt-484 ~]# lvs -a -o +devices
        LV                          VG              Attr       LSize  Pool                Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices                     
        convert_pool                thinpool_sanity twi-a-tz-- 12.00g                            0.00   10.68                            convert_pool_tdata(0)       
        [convert_pool_tdata]        thinpool_sanity vwi-aov--- 12.00g convert_pool_vpool0        0.00                                    convert_pool_vpool0(0)      
        [convert_pool_tmeta]        thinpool_sanity ewi-ao---- 12.00m                                                                    /dev/sda(3072)              
        convert_pool_vpool0         thinpool_sanity dwi------- 12.00g                            33.38                                   convert_pool_vpool0_vdata(0)
        [convert_pool_vpool0_vdata] thinpool_sanity Dwi-ao---- 12.00g                                                                    /dev/sda(0)                 
        [lvol0_pmspare]             thinpool_sanity ewi------- 12.00m                                                                    /dev/sda(3075)              
       
       
       
       
      # UNDER SIZED volume to convert to thinpool with backing vdo volume for pool
      [root@virt-484 ~]# lvcreate --yes --type linear -n convert_pool  -L 12M thinpool_sanity
        Logical volume "convert_pool" created.
      [root@virt-484 ~]# lvs -a -o +devices
        LV           VG              Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices       
        convert_pool thinpool_sanity -wi-a----- 12.00m                                                     /dev/sda(0)   
       
      [root@virt-484 ~]# lvconvert --yes --type thin-pool --pooldatavdo y thinpool_sanity/convert_pool
        Thin pool volume with chunk size 64.00 KiB can address at most <15.88 TiB of data.
        WARNING: Converting thinpool_sanity/convert_pool to thin pool's data volume with metadata wiping.
        THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
      Minimum required size for VDO volume: 5063921664 bytes
      vdoformat: formatVDO failed on '/dev/thinpool_sanity/convert_pool_vpool0': VDO Status: Out of space
        Command /usr/bin/vdoformat failed.
        Cannot format VDO pool volume thinpool_sanity/convert_pool_vpool0.
      
      # Manual cleanup is now required  
      [root@virt-484 ~]# lvs -a -o +devices
        LV                  VG              Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices       
        convert_pool_vpool0 thinpool_sanity -wi-a----- 12.00m                                                     /dev/sda(0)   
        [lvol0_pmspare]     thinpool_sanity ewi-------  4.00m                                                     /dev/sda(4)   
        pool_metadata0      thinpool_sanity -wi-a-----  4.00m                                                     /dev/sda(3)   
      

              zkabelac@redhat.com Zdenek Kabelac
              cmarthal@redhat.com Corey Marthaler
              Device Mapper Team Device Mapper Team
              Cluster QE Cluster QE
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated: