Bug 1402092
| Summary: | "chk_st dev_st" stays "ready running" after offline the device | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Ben Marzinski <bmarzins> |
| Component: | device-mapper-multipath | Assignee: | Ben Marzinski <bmarzins> |
| Status: | CLOSED ERRATA | QA Contact: | Lin Li <lilin> |
| Severity: | unspecified | Docs Contact: | Steven J. Levine <slevine> |
| Priority: | unspecified | ||
| Version: | 7.3 | CC: | agk, bmarzins, heinzm, msnitzer, pasik, prajnoha, rbalakri, yizhan, zkabelac |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | device-mapper-multipath-0.4.9-101.el7 | Doc Type: | Bug Fix |
| Doc Text: |
Users no longer get potentially confusing stale data for multipath devices that are not being checked
Previously, when a path device is orphaned (not a member of a multipath device), the device state and checker state displayed with the "show paths" command in the state of the device before it was orphaned. As a result, the "show paths" command showed out of date information on devices that was no longer checking. With this fix, the "show paths" command now displays `undef` as the checker state and `unknown` as the device state of orphaned paths and users no longer get potentially confusing stale data for devices that are not being checked.
|
Story Points: | --- |
| Clone Of: | 1401769 | Environment: | |
| Last Closed: | 2017-08-01 16:34:26 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: | 1401769 | ||
| Bug Blocks: | |||
|
Comment 1
Ben Marzinski
2017-02-16 19:46:05 UTC
Ben: Could you check my editing of your doc text into release note format to be sure it is still ok? Thanks. Steven It looks good, except that `show pathsr` should obviously be `show paths`. Reproduced on device-mapper-multipath-0.4.9-99.el7
1. [root@storageqe-84 ~]# rpm -qa | grep multipath
device-mapper-multipath-libs-0.4.9-99.el7.x86_64
device-mapper-multipath-0.4.9-99.el7.x86_64
2. [root@storageqe-84 ~]# modprobe scsi_debug vpd_use_hostno=0 add_host=2 dev_size_mb=1024
3. [root@storageqe-84 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
└─mpatha 253:0 0 50G 0 mpath
├─mpatha1 253:1 0 1G 0 part /boot
└─mpatha2 253:2 0 49G 0 part
├─rhel_storageqe--84-root 253:3 0 44G 0 lvm /
└─rhel_storageqe--84-swap 253:4 0 5G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
└─mpatha 253:0 0 50G 0 mpath
├─mpatha1 253:1 0 1G 0 part /boot
└─mpatha2 253:2 0 49G 0 part
├─rhel_storageqe--84-root 253:3 0 44G 0 lvm /
└─rhel_storageqe--84-swap 253:4 0 5G 0 lvm [SWAP]
sdc 8:32 0 1G 0 disk
└─mpathb 253:5 0 1G 0 mpath
sdd 8:48 0 1G 0 disk
└─mpathb 253:5 0 1G 0 mpath
sr0 11:0 1 1024M 0 rom
4.[root@storageqe-84 ~]# echo "offline" > /sys/block/sdb/device/state
5. multipath -ll
mpathb (353333330000007d0) dm-5 Linux ,scsi_debug
size=1.0G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 6:0:0:0 sdd 8:48 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 5:0:0:0 sdc 8:32 active ready running
mpatha (360fff19abdd9552f8a36e5355226ba27) dm-0 EQLOGIC ,100E-00
size=50G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 2:0:0:0 sda 8:0 active ready running
`-+- policy='service-time 0' prio=0 status=enabled
`- 4:0:1:0 sdb 8:16 active faulty offline
6. [root@storageqe-84 ~]# multipath -r
reload: mpatha (360fff19abdd9552f8a36e5355226ba27) undef EQLOGIC ,100E-00
size=50G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef
`- 2:0:0:0 sda 8:0 active ready running
reload: mpathb (353333330000007d0) undef Linux ,scsi_debug
size=1.0G features='0' hwhandler='0' wp=undef
|-+- policy='service-time 0' prio=1 status=undef
| `- 5:0:0:0 sdc 8:32 active ready running
`-+- policy='service-time 0' prio=1 status=undef
`- 6:0:0:0 sdd 8:48 active ready running
7.[root@storageqe-84 ~]# multipathd show paths
hcil dev dev_t pri dm_st chk_st dev_st next_check
2:0:0:0 sda 8:0 1 active ready running XX........ 5/20
4:0:1:0 sdb 8:16 1 undef faulty offline orphan <----------------
6:0:0:0 sdd 8:48 1 active ready running XXXXXXX... 15/20
5:0:0:0 sdc 8:32 1 active ready running XXXXXXX... 15/20
Verified on device-mapper-multipath-0.4.9-111.el7
1.[root@storageqe-84 ~]# rpm -qa | grep multipath
device-mapper-multipath-debuginfo-0.4.9-111.el7.x86_64
device-mapper-multipath-libs-0.4.9-111.el7.x86_64
device-mapper-multipath-0.4.9-111.el7.x86_64
device-mapper-multipath-sysvinit-0.4.9-111.el7.x86_64
device-mapper-multipath-devel-0.4.9-111.el7.x86_64
2.[root@storageqe-84 ~]# modprobe scsi_debug vpd_use_hostno=0 add_host=2 dev_size_mb=1024
3.[root@storageqe-84 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
└─mpatha 253:0 0 50G 0 mpath
├─mpatha1 253:1 0 1G 0 part /boot
└─mpatha2 253:2 0 49G 0 part
├─rhel_storageqe--84-root 253:3 0 44G 0 lvm /
└─rhel_storageqe--84-swap 253:4 0 5G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
sdc 8:32 0 1G 0 disk
└─mpathb 253:5 0 1G 0 mpath
sdd 8:48 0 1G 0 disk
└─mpathb 253:5 0 1G 0 mpath
sr0 11:0 1 1024M 0 rom
4.[root@storageqe-84 ~]# echo "offline" > /sys/block/sda/device/state
5. [root@storageqe-84 ~]# multipath -ll
mpathb (353333330000007d0) dm-5 Linux ,scsi_debug
size=1.0G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 5:0:0:0 sdc 8:32 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 6:0:0:0 sdd 8:48 active ready running
mpatha (360fff19abdd9552f8a36e5355226ba27) dm-0 EQLOGIC ,100E-00
size=50G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 4:0:1:0 sdb 8:16 active ready running
`-+- policy='service-time 0' prio=0 status=enabled
`- 2:0:0:0 sda 8:0 active faulty offline
6.[root@storageqe-84 ~]# multipath -r
reload: mpatha (360fff19abdd9552f8a36e5355226ba27) undef EQLOGIC ,100E-00
size=50G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef
`- 4:0:1:0 sdb 8:16 active ready running
reload: mpathb (353333330000007d0) undef Linux ,scsi_debug
size=1.0G features='0' hwhandler='0' wp=undef
|-+- policy='service-time 0' prio=1 status=undef
| `- 5:0:0:0 sdc 8:32 active ready running
`-+- policy='service-time 0' prio=1 status=undef
`- 6:0:0:0 sdd 8:48 active ready running
7.[root@storageqe-84 ~]# multipathd show paths
hcil dev dev_t pri dm_st chk_st dev_st next_check
2:0:0:0 sda 8:0 1 undef undef unknown orphan <----------------
4:0:1:0 sdb 8:16 1 active ready running XXX....... 7/20
5:0:0:0 sdc 8:32 1 active ready running XXXXXXXXX. 18/20
6:0:0:0 sdd 8:48 1 active ready running XXXXXXXX.. 17/20
Multipathd now prints "undef" as the checker state and "unknown" as the device state for orphaned paths.
Test result:Multipathd now prints "undef" as the checker state and "unknown" as the device state for orphaned paths.
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-2017:1961 |