Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1519330 - VDO physical size does not reflect actual physical size usable by user
Summary: VDO physical size does not reflect actual physical size usable by user
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: vdo
Version: 7.5
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: corwin
QA Contact: Jakub Krysl
Depends On:
Blocks: 1517911
TreeView+ depends on / blocked
Reported: 2017-11-30 15:37 UTC by Jakub Krysl
Modified: 2019-03-06 00:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-04-10 15:48:32 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2018:0871 None None None 2018-04-10 15:49:01 UTC

Description Jakub Krysl 2017-11-30 15:37:04 UTC
Description of problem:
When VDO is created, some space given to it is taken by index and the rest is divided between slabs and the remaining space is left unused and unusable. Here is an example when creating VDO on 6G device:

# vdo create --name vdo --device 6G_device
Because default VDO slab size is 2G and default index size is around 2.5G, the actual usable space for user data is only single slab of 2G (6 - 2.5 = 3.5; 3.5 % 2 = 1)
# vdo status | grep 'Physical size'
    Physical size: 6G
# vdo status | grep 'Logical size'
    Logical size: 6G
# lsblk
sdc                       8:32   0  5.5T  0 disk
└─vg-lv                 253:2    0    6G  0 lvm
  └─vdo                 253:3    0    6G  0 dm
Creating a filesystem and mounting it to check 'df':
# df -h
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/vdo                       6G   33M   14G   1% /root/vdo

Every obvious value at this point reports the VDO size to be 6G, but the actual size is only 2G:
# vdo status | grep 'slab count'
        slab count: 1
# vdo status | grep 'Slab size'
    Slab size: 2G

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

How reproducible:

Steps to Reproduce:
1. vdo create --name vdo --device device
2. # vdo status | grep 'Physical size'
should equal
# vdo status | grep 'slab count'
        slab count: 1
# vdo status | grep 'Slab size'
    Slab size: 2G

Actual results:
6G vs 2G

Expected results:
2G vs 2G

Additional info:

Comment 2 Sweet Tea Dorminy 2017-11-30 18:50:35 UTC
How about the statistic 'data blocks free'? It's very close to 'amount of unique data you can write to VDO'. (Using never-before-used logical addresses can move some blocks from 'data blocks free' to 'overhead blocks', but it is otherwise accurate.)

Comment 4 Jakub Krysl 2017-12-21 11:24:43 UTC
This has been fixed by reducing the default VDO logical size to "useable" physical size. Setting this toverified and creating RFE to better document "Physical Size: X" field in vdo status.

Comment 7 errata-xmlrpc 2018-04-10 15:48:32 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.

Note You need to log in before you can comment on or make changes to this bug.