Bug 2052355

Summary: RHEL9 /etc/lvm/devices/system.devices multipath entries not populated with PVID on reboot.
Product: Red Hat Enterprise Linux 9 Reporter: Lance Digby <ldigby>
Component: lvm2Assignee: David Teigland <teigland>
lvm2 sub component: Devices, Filtering and Stacking QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: urgent CC: agk, cmarthal, heinzm, jbrassow, mcsontos, msnitzer, prajnoha, teigland, zkabelac
Version: 9.0Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lvm2-2.03.14-4.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2095503 (view as bug list) Environment:
Last Closed: 2022-05-17 15:56:34 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:
Bug Depends On:    
Bug Blocks: 2095503    

Comment 8 David Teigland 2022-02-10 20:56:46 UTC
fix pushed to main
https://sourceware.org/git/?p=lvm2.git;a=commit;h=d59382c772483d3c09b4fcff90c01d81742feac6

I haven't yet found a way to put a device into the state necessary to reproduce this directly, i.e. the device exists on the system, lvm can open it, it reports a size, it reports a device id (wwid), and it matches a devices file entry, yet the lvm command fails to read it.  To test this I had to hack the lvm code to disable the internal filtering of devs with the error target, then I replaced a multipath device table with an error target, which triggered the read error and bug shown above.

Comment 11 David Teigland 2022-02-10 21:52:13 UTC
With some help I found a simpler method to reproduce this:
. set multipath.conf no_path_retry fail (in my case it needed to go in overrides section)
. create mpath dev over single scsi dev
. create PV on the mpath dev
. echo offline into sysfs state for scsi dev
. lvm fails to read the mpath dev in a way that reproduces the bug

Comment 14 Corey Marthaler 2022-02-17 18:32:56 UTC
Marking Verified:Tested in the latest rpms.

kernel-5.14.0-58.el9    BUILT: Thu Feb 10 11:18:21 AM CST 2022
lvm2-2.03.14-4.el9    BUILT: Wed Feb 16 06:01:21 AM CST 2022
lvm2-libs-2.03.14-4.el9    BUILT: Wed Feb 16 06:01:21 AM CST 2022
lvm2-dbusd-2.03.14-4.el9    BUILT: Wed Feb 16 07:23:08 AM CST 2022


SCENARIO - pvs_scanning_of_offline_mpath_device:  Test that LVM is able to scan PVs using offline mpath devices and not alter their PVIDs (bug 2052355)
WARNING: This scenario will end up repartitioning your device!
adding entry to the devices file for /dev/sdc1
removing entry from the devices file for /dev/sdc1
multipath /dev/sdc
adding entry to the devices file for /dev/mapper/mpatha1
creating PV on hayes-02 using device /dev/mapper/mpatha1
pvcreate --yes -ff  /dev/mapper/mpatha1
  Physical volume "/dev/mapper/mpatha1" successfully created.
Cause the mpath device to go offline and attempt to read it with pvs and verify that LVM doesn't blank out the PVID in the devicesfile
Disabling device sdc on hayes-02
'echo offline > /sys/block/sdc/device/state'
pvs
7ImdgZAMSdwZHpNmCSznCRElW94Ozrq5 == 7ImdgZAMSdwZHpNmCSznCRElW94Ozrq5
Enabling device sdc on hayes-02
'echo running > /sys/block/sdc/device/state'
  No matching physical volumes found
removing pv /dev/mapper/mpatha1 on hayes-02
  Labels on physical volume "/dev/mapper/mpatha1" successfully wiped.
removing entry from the devices file for /dev/mapper/mpatha1
multipath -f mpatha
multipath -W
successfully reset wwids
Using gpt label
Disk size: 1907199 MB
Num partitions: 1
Adding new primary partition: (40, 3905945559) = 1907199 MB
Committing changes

Comment 17 Corey Marthaler 2022-02-21 21:46:13 UTC
Marking VERIFIED based on comment #14 run on the latest build.

Comment 19 errata-xmlrpc 2022-05-17 15:56:34 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 (new packages: lvm2), 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-2022:3972