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 1576539 - Growing physical size should not suspend vdo device when the size is equal
Summary: Growing physical size should not suspend vdo device when the size is equal
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kmod-kvdo
Version: 7.5
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: rc
: ---
Assignee: Matthew Sakai
QA Contact: Jakub Krysl
URL:
Whiteboard:
Depends On:
Blocks: 1597886 1600662
TreeView+ depends on / blocked
 
Reported: 2018-05-09 17:12 UTC by Jakub Krysl
Modified: 2021-09-03 12:04 UTC (History)
5 users (show)

Fixed In Version: 6.1.1.99
Doc Type: If docs needed, set a value
Doc Text:
Previously, VDO volumes were unable to grow if the underlying block device increased in size while the system was powered off or the VDO volume was offline. With this update, VDO correctly checks the requested size and the current size of the device, and, as a result, the described problem no longer occurs.
Clone Of:
: 1600662 (view as bug list)
Environment:
Last Closed: 2018-10-30 09:39:31 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:3094 0 None None None 2018-10-30 09:40:09 UTC

Description Jakub Krysl 2018-05-09 17:12:55 UTC
Description of problem:
When growing physical size ('vdo growPhysical') without growing the storage under at all (new_size == old_size), kvdo does not stop the process at 'preparing to grow' but after suspending the volume. This is pointless action as there is no growing happening.

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

How reproducible:
100%

Steps to Reproduce:
1. vdo create --name vdo --device device
2. vdo growPhysical --name vdo

Actual results:

# vdo growPhysical --name vdo
vdo: ERROR - Cannot grow physical on VDO vdo; device-mapper: message ioctl on vdo  failed: Invalid argument
vdo: ERROR - device-mapper: message ioctl on vdo  failed: Invalid argument

/var/log/messages:
[22275.407669] kvdo1:dmsetup: Preparing to resize physical to 13892608
[22275.438719] kvdo1:dmsetup: Done preparing to resize physical
[22275.470112] kvdo1:dmsetup: suspending device 'vdo'
[22275.560291] kvdo1:dmsetup: device 'vdo' suspended
[22275.586285] kvdo1:dmsetup: Requested physical block count 13892608 not greater than 13892608
[22275.629681] kvdo1:dmsetup: resuming device 'vdo'
[22275.651300] kvdo1:dmsetup: device 'vdo' resumed


Expected results:
# vdo growPhysical --name vdo
vdo: ERROR - Cannot grow physical on VDO vdo; device-mapper: message ioctl on vdo  failed: Invalid argument
vdo: ERROR - device-mapper: message ioctl on vdo  failed: Invalid argument

/var/log/messages:
[22275.407669] kvdo1:dmsetup: Preparing to resize physical to 13892608
[22275.586285] kvdo1:dmsetup: Requested physical block count 13892608 not greater than 13892608

Additional info:
note: this BZ does not aim at exposing the message to user

Comment 3 Jakub Krysl 2018-07-09 11:40:58 UTC
Tested on:
RHEL-7.6-20180626.0
kernel-3.10.0-915.el7
kmod-vdo-6.1.1.99-1.el7
vdo-6.1.1.99-2.el7

# vdo create --name vdo --device /dev/sdb
Creating VDO vdo
Starting VDO vdo
Starting compression on VDO vdo
VDO instance 1 volume is ready at /dev/mapper/vdo
# vdo growPhysical --name vdo --verbose
    dmsetup status vdo
    dmsetup message vdo 0 prepareToGrowPhysical
vdo: ERROR - Cannot prepare to grow physical on VDO vdo; device-mapper: message ioctl on vdo  failed: Invalid argument
vdo: ERROR - device-mapper: message ioctl on vdo  failed: Invalid argument

/var/log/messages:
[ 8230.503025] kvdo1:dmsetup: Preparing to resize physical to 536874240


So now VDO stops the operation right at the beginning at 'preparing to resize physical', which is correct. But now user has no indication what went wrong, just failed ioctl with 'Invalid argument'. The message in /var/log/messages' is gone.
Is it possible to be a bit more verbose and provide a reason why the operation failed?

Comment 4 Matthew Sakai 2018-07-10 00:00:21 UTC
This the reason why BZ 1597886 was logged. (It is a separate BZ because we weren't sure if we would want to z-stream what's basically  logging change.)

The fix I have implemented is to restore the log message
"Requested physical block count <X> not greater than <X>". Does that fix seem sufficient?

Alos, could I get some clarity as to whether this change should be made as part of this BZ, of as part of BZ 1597886, or both? I would like to get this fixed, but I a bit unclear on the proper bookkeeping involved.

Comment 5 Jakub Krysl 2018-07-10 07:19:53 UTC
I think it does not matter much in this case, as the regression is not functional but design/doc. Usually it should be fixed under the original BZ, but I would say fix it under the BZ 1597886 as it is providing a lot of information regarding the issue. Plus this BZ is only about not suspending the device and the device is not suspended at all any more...

Restoring the message without suspending the device is fine. :) Basically:
/var/log/messages:
[22275.407669] kvdo1:dmsetup: Preparing to resize physical to 13892608
[22275.586285] kvdo1:dmsetup: Requested physical block count 13892608 not greater than 13892608

I will link them together, because BZ 1597886 is not reproducible without this one being in.

Comment 8 errata-xmlrpc 2018-10-30 09:39:31 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-2018:3094


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