Bug 1511034

Summary: vdoformat program erroneously prints "Exceeds maximum number of slabs" for case where index size is too big
Product: Red Hat Enterprise Linux 7 Reporter: Bryan Gurney <bgurney>
Component: vdoAssignee: Sweet Tea Dorminy <sweettea>
Status: CLOSED ERRATA QA Contact: Jakub Krysl <jkrysl>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.5CC: awalsh, jkrysl, limershe
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 6.1.0.57 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 15:47:46 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 Bryan Gurney 2017-11-08 15:09:43 UTC
Description of problem:
If the user creates a VDO volume with --indexMem=10, it will create a VDO volume with a UDS index in dense mode that uses 10 GB of memory, and attempts to reserve 100 GB of storage space on the configured device.  This would call the 

Version-Release number of selected component (if applicable):
vdo-6.1.0.34-8

How reproducible:
100%

Steps to Reproduce:
1. Install the kmod-kvdo and vdo packages.
2. Add a storage device that has less than the required amount of disk space for a UDS index.
3. Execute "vdo create --name=vdo1 --device=<device> --indexMem=10 --verbose (or use an "--indexMem=" value corresponding to about 1 GB of memory per 10 GB of storage space, in a way that yields insufficient storage space to contain the index).

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

Expected results:
vdoformat prints a message indicating that there is not enough space to create the UDS index.

Additional info:

Comment 2 Bryan Gurney 2017-11-10 20:03:35 UTC
In a case where the device has enough space to create the index, but does not have enough space to create a full slab (default size 2 GB), this error will appear:

vdo: ERROR - vdoformat: formatVDO failed on '/dev/TEST/backing': VDO Status: Out of space

The test logical volume above was 4 GB in size; it was enough to contain the 2.5 GB UDS index, but not enough to contain a single 2 GB slab.

Comment 3 Bryan Gurney 2017-11-10 20:32:18 UTC
*** Bug 1505748 has been marked as a duplicate of this bug. ***

Comment 5 Jakub Krysl 2017-11-21 13:08:11 UTC
vdo-6.1.0.55-10 with 5.5T disk:

# vdo create --name vdo2 --device /dev/sdg --indexMem 1000 --verbose
Creating VDO vdo2
    modprobe kvdo
    vdoformat --uds-checkpoint-frequency=0 --uds-memory-size=1000 /dev/sdg
vdo: ERROR - vdoformat: formatVDO failed on '/dev/sdg': VDO Status: Out of space

THe new indication does not specifically says there is not enough space for the index, but it clearly says it is a space issue, which is good enough.

Comment 8 errata-xmlrpc 2018-04-10 15:47:46 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/RHEA-2018:0871