Bug 1444193
| Summary: | pvresize hangs, seemingly due to changes made by multipathd 'resize map' failure | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | John Pittman <jpittman> | |
| Component: | device-mapper-multipath | Assignee: | Ben Marzinski <bmarzins> | |
| Status: | CLOSED ERRATA | QA Contact: | Lin Li <lilin> | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 6.9 | CC: | agk, bmarzins, cww, heinzm, jbrassow, jkurik, lilin, msnitzer, prajnoha, rbalakri, rhandlin, zkabelac | |
| Target Milestone: | rc | |||
| Target Release: | --- | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | device-mapper-multipath-0.4.9-103.el6 | Doc Type: | Bug Fix | |
| Doc Text: |
Cause: If multipath failed to resize a multipath device, the device would be left in the SUSPENDED state.
Consequence: multipath devices would become unusable if a resize on them fails.
Fix: If a resize fails, multipath will now resume using the device with the previous size.
Result: When resizing a multipath device fails, the device is still usable.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1448970 (view as bug list) | Environment: | ||
| Last Closed: | 2018-06-19 05:17:52 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: | 1374441, 1448970, 1461138, 1507140 | |||
|
Description
John Pittman
2017-04-20 19:29:34 UTC
I'm pretty sure that if you check with "dmsetup info <dev>" after the failed resize, you will see that the multipath table is in the SUSPENDED state. It looks like the resize code needs to check if the resize attempt failed during the resume call (which it did in this case), and if so, reset the size, and redo the resume. Thanks Ben; you are right. [root@host]# multipathd -k'resize map mpatha' fail [root@host]# dmsetup info -C | grep mpatha mpatha 253 2 L-sw 1 1 1 mpath-<wwid_omitted> [root@host]# dmsetup resume mpatha [root@host]# dmsetup info -C | grep mpatha mpatha 253 2 L--w 1 1 1 mpath-<wwid_omitted> Manual resume is able to recover. Fixed this to automatically resume the device again with its original table, if the previous resume left the device in the suspended state. Reproduced on device-mapper-multipath-0.4.9-100.el6 1, [root@storageqe-20 wwids]# rpm -qa | grep multipath device-mapper-multipath-libs-0.4.9-100.el6.x86_64 device-mapper-multipath-0.4.9-100.el6.x86_64 2, [root@storageqe-20 wwids]# multipath -ll mpathe (353333330000007d0) dm-0 Linux,scsi_debug size=8.0M features='0' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=1 status=active | `- 13:0:0:0 sdr 65:16 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 14:0:0:0 sds 65:32 active ready running 3, [root@storageqe-20 wwids]# echo 1 > /sys/bus/pseudo/drivers/scsi_debug/virtual_gb 4, [root@storageqe-20 wwids]# echo 1 > /sys/block/sdr/device/rescan 5, [root@storageqe-20 wwids]# multipathd resize map mpathe fail 6, [root@storageqe-20 wwids]# dmsetup info mpathe | grep "^State:" State: SUSPENDED <------------------------------------- Verified on device-mapper-multipath-0.4.9-106.el6 1, [root@storageqe-20 wwids]# rpm -qa | grep multipath device-mapper-multipath-libs-0.4.9-106.el6.x86_64 device-mapper-multipath-debuginfo-0.4.9-106.el6.x86_64 device-mapper-multipath-0.4.9-106.el6.x86_64 2, [root@storageqe-20 wwids]# multipath -ll mpathe (353333330000007d0) dm-0 Linux,scsi_debug size=8.0M features='0' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=1 status=active | `- 13:0:0:0 sdr 65:16 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 14:0:0:0 sds 65:32 active ready running 3, [root@storageqe-20 wwids]# echo 1 > /sys/bus/pseudo/drivers/scsi_debug/virtual_gb 4, [root@storageqe-20 wwids]# echo 1 > /sys/block/sdr/device/rescan 5, [root@storageqe-20 wwids]# multipathd resize map mpathe fail 6, [root@storageqe-20 wwids]# dmsetup info mpathe | grep "^State:" State: ACTIVE <-------------------------------- Test result: When resizing a multipath device fails, the device is still usable. 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:1893 |