Multipath: underlying disks are listed for partitioning on systems w/ 26+ disks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
partman-base (Ubuntu) |
Fix Released
|
Medium
|
Mathieu Trudel-Lapierre | ||
Trusty |
Fix Released
|
Undecided
|
Mathieu Trudel-Lapierre |
Bug Description
[Impact]
Systems with more than 26 multipath disks will see the underlying disks listed rather than included under the multipath device (which is a separate entry in the list). This affects any user trying to install on a system with more than 26 multipath disks.
[Test case]
Install Ubuntu using d-i on a system with more than 26 multipathed disks.
[Regression Potential]
Limited to multipath. This simply folds two spaces into one and accounts for extra spaces in the output of multipath -l when there are more than 26 disks (ie. when you start to see sdaa#), by adjusting the regular expression.
---
On top of the fix in LP: #1430074, there's a minor bit missing.
It doesn't hide all underlying disks in the partitioning dialog if there's 26+ underlying disks (i.e., enough for sdaa and so on to show up).
It happens because, in that case, 'multipath -l' now puts 2 spaces betweek disk and major:minor for the sd[a-z] disks, and only 1 space for sd[a-z][a-z].
Patch attached.
Changed in partman-base (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
assignee: | nobody → Mathieu Trudel-Lapierre (mathieu-tl) |
Changed in partman-base (Ubuntu): | |
status: | Triaged → In Progress |
Changed in partman-base (Ubuntu Trusty): | |
status: | New → In Progress |
assignee: | nobody → Mathieu Trudel-Lapierre (mathieu-tl) |
description: | updated |
Notice the one/two spaces case: 7b0000000000000 071f) dm-3 IBM,2107900
~ # multipath -l
...
mpath3 (36005076307ffc
size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=-1 status=active
|- 1:0:0:3 sdd 8:48 active undef running
|- 1:0:1:3 sdi 8:128 active undef running
|- 1:0:2:3 sdn 8:208 active undef running
|- 1:0:3:3 sds 65:32 active undef running
|- 1:0:4:3 sdx 65:112 active undef running
`- 1:0:5:3 sdac 65:192 active undef running
Before:
~ # multipath -l | grep -o '\([#0- 9]\+:\) \{3\}[# 0-9]\+ [hs]d[a-z]\+ [0-9]\+:[0-9]\+'
1:0:5:2 sdab 65:176
1:0:5:1 sdaa 65:160
1:0:5:4 sdad 65:208
1:0:5:3 sdac 65:192
After:
~ # multipath -l | grep -o '\([#0- 9]\+:\) \{3\}[# 0-9]\+ [hs]d[a-z]\+ \+[0-9]\+:[0-9]\+'
1:0:0:2 sdc 8:32
1:0:1:2 sdh 8:112
1:0:2:2 sdm 8:192
1:0:3:2 sdr 65:16
1:0:4:2 sdw 65:96
1:0:5:2 sdab 65:176
1:0:0:1 sdb 8:16
1:0:1:1 sdg 8:96
1:0:2:1 sdl 8:176
1:0:3:1 sdq 65:0
1:0:4:1 sdv 65:80
1:0:5:1 sdaa 65:160
1:0:0:0 sda 8:0
1:0:1:0 sdf 8:80
1:0:2:0 sdk 8:160
1:0:3:0 sdp 8:240
1:0:4:0 sdu 65:64
1:0:5:0 sdz 65:144
1:0:0:4 sde 8:64
1:0:1:4 sdj 8:144
1:0:2:4 sdo 8:224
1:0:3:4 sdt 65:48
1:0:4:4 sdy 65:128
1:0:5:4 sdad 65:208
1:0:0:3 sdd 8:48
1:0:1:3 sdi 8:128
1:0:2:3 sdn 8:208
1:0:3:3 sds 65:32
1:0:4:3 sdx 65:112
1:0:5:3 sdac 65:192
Currently only the space(s) between disk and major:minor are varying; but let's
make the space(s) between SCSI address and disk also variable, just in case.
~ # multipath -l | grep -o '\([#0- 9]\+:\) \{3\}[# 0-9]\+ \+[hs]d[a-z]\+ \+[0-9]\+:[0-9]\+'
<<same output>>