Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1505748

Summary: vdo: ERROR - vdoformat: formatVDO failed on '/dev/sdc': VDO Status: Exceeds maximum number of slabs supported
Product: Red Hat Enterprise Linux 8 Reporter: Jakub Krysl <jkrysl>
Component: vdoAssignee: Sweet Tea Dorminy <sweettea>
Status: CLOSED ERRATA QA Contact: Filip Suba <fsuba>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: awalsh, bgurney, dkeefe, limershe, pasik, sweettea, yanwang
Target Milestone: rcKeywords: Reopened
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 6.2.2.110 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:42:57 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:

Description Jakub Krysl 2017-10-24 08:34:07 UTC
Description of problem:
When creating VDO with --vdoSlabSize specified to something lower (128M, 256M or 512M, bigger size works on 5,5T disk), I get vdoformat error (subject). There is no mention of maximum number of slabs in manpage or --help. 

Plus this log appears in console:
[85821.727796] uds: vdoformat: Initializing index session for index: dev=/dev/sdc offset=4096 
[85821.736105] uds: vdoformat: Creating new index. 
[85822.002887] uds: vdoformat: Using 12 indexing zones for concurrency. 
[85822.179163] uds: vdoformat: Created index session (366) 
[85822.184490] uds: vdoformat: Opened block context (366) 
[85822.189699] uds: vdoformat: Closed block context (366) 
[85822.194898] uds: vdoformat: Closing index session (366, ffff881038b6ac00) 
[85822.203671] uds: vdoformat: index_0: beginning save (vcn 4294967295) 
[85822.493754] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.503348] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.514257] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.523842] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.534789] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.544376] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.555282] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.564873] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.575790] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.585377] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.596291] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.605872] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.616785] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.626379] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.637289] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.646875] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.657793] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.667381] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.678292] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.687876] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.698783] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.708366] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.719299] uds: vdoformat: queue 'zoneIndexWorker' batch lengths: 22 samples in [1 .. 1] sum 22 sumsq 22 
[85822.728888] uds: vdoformat: queue 'zoneIndexWorker' wait microseconds: 21 samples in [12 .. 1000] sum 5278 sumsq 3086016 
[85822.763466] uds: vdoformat: Closed index session (0, ffff881038b6ac00) 

Version-Release number of selected component (if applicable):
vdo-6.1.0.0-6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.vdo create --device=/dev/sdc --vdoSlabSize=512 --name=vdo

Actual results:
vdo: ERROR - vdoformat: formatVDO failed on '/dev/sdc': VDO Status: Exceeds maximum number of slabs supported 

Expected results:
Manpage should mention maximum number of slabs, VDO should not try to be created when this number is exceeded.

Additional info:

Comment 2 Bryan Gurney 2017-11-10 18:55:19 UTC
This might be a duplicate of BZ 1511034, or it might not; the key question is this: will the same error appear if there's enough space for the index, but not enough space for the minimum amount necessary for the VDO backing area?

Comment 3 Bryan Gurney 2017-11-10 20:00:48 UTC
If we set up a logical volume that's large enough to hold a default sized index (2.5 GB), but not large enough to hold a single slab (default size: 2 GB), we see this:

[root@rhel75test-20171023 ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.
[root@rhel75test-20171023 ~]# vgcreate TEST /dev/sdc
  Volume group "TEST" successfully created
[root@rhel75test-20171023 ~]# lvcreate -L4G -n backing TEST
  Logical volume "backing" created.
[root@rhel75test-20171023 ~]# vdo create --name=test4g --device=/dev/TEST/backing --verbose
Creating VDO test4g
    modprobe kvdo
    vdoformat --uds-checkpoint-frequency=0 --uds-memory-size=0.25 /dev/TEST/backing
vdo: ERROR - vdoformat: formatVDO failed on '/dev/TEST/backing': VDO Status: Out of space

This is a different error than "Exceeds maximum number of slabs supported".  Therefore, this is the same issue as covered in BZ 1511034.

Comment 4 Bryan Gurney 2017-11-10 20:32:18 UTC

*** This bug has been marked as a duplicate of bug 1511034 ***

Comment 5 Sweet Tea Dorminy 2018-04-23 23:43:15 UTC
Bryan, I don't see the connection at all. This bug is about the error message when one has more than 8192 slabs worth of physical space. One can demonstrate this bug by having 5.5T of physical space and requesting 128M slabs.

Comment 6 Jakub Krysl 2018-04-24 08:31:40 UTC
Thank you sweettea for reopening this, I agree this is still reproducible:

# lsblk
NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb                           8:16   0   100G  0 disk

# vdo create --name vdo --device /dev/sdb --vdoLogicalSize 10T
Creating VDO vdo
Starting VDO vdo
Starting compression on VDO vdo
VDO instance 5 volume is ready at /dev/mapper/vdo

# vdo create --name vdo2 --device /dev/mapper/vdo --vdoSlabSize 128M
Creating VDO vdo2
vdo: ERROR - vdoformat: formatVDO failed on '/dev/mapper/vdo': VDO Status: Exceeds maximum number of slabs supported

And there is no mention about slab count limit in manpage (or --help):
       --vdoSlabSize=megabytes
              Specifies the size of the increment by which a VDO is grown. Using a smaller size constrains the total maximum physical size that can be accommodated.  Must be a power of two between 128M and
              32G.  Using a value with a S (sectors), B (bytes), K (kilobytes), M (megabytes), G (gigabytes), T (terabytes), P (petabytes) or E (exabytes) suffix is optional. If  no  suffix  is  used,  the
              value will be interpreted as megabytes. The default is 2G.

Thanks for looking into this again.

Comment 9 Jakub Krysl 2019-10-15 14:38:54 UTC
Mass migration to Filip.

Comment 11 Filip Suba 2020-03-12 13:02:01 UTC
Verified with vdo-6.2.2.117-13.el8.
vdo create --name vdo --device /dev/sdb --vdoLogicalSize 10T
Creating VDO vdo
      The VDO volume can address 9 TB in 4655 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 vdo

Comment 13 errata-xmlrpc 2020-04-28 16:42:57 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://access.redhat.com/errata/RHBA-2020:1782