Public bug reported:
#### Problem Description
During canonical hardware certification execution on s390x systems
configured with both SCSI multipath (mpath) and DASD storage,
find_largest_partition() in checkbox_support/disk_support.py selects an
unintended DASD partition (e.g. /dev/dasdc1) instead of the target SCSI
multipath partition (e.g. /dev/mpathb-part1).#### Root Cause Analysis
The block device iteration in find_largest_partition() compares device sizes
sequentially as returned by lsblk. When SCSI multipath is active, individual
underlying SCSI paths (sda, sdb, etc.) and the aggregated multipath map
(mpathb) appear as separate entries with identical partition sizes.
The decision condition:
cond_d = new_sz > old_sz and not new_lv
Execution sequence:
1. /dev/sda1 (e.g. 42.9 GB, part, ext4) is processed first and accepted as the
currently largest partition.
2. /dev/mpathb-part1 (42.9 GB, part, ext4) is processed later. Because new_sz >
old_sz evaluates to False (42,947,575,808 > 42,947,575,808 is False),cond_d is
not met and the canonical multipath partition is skipped.
3. If DASD partitions (e.g. /dev/dasda1 / /dev/dasdc1 with ~44.3 GB) exist with
slightly larger capacities, they subsequently win the comparison, resulting in
DASD being incorrectly selected.
#### Steps to Reproduce
1. Set up an s390x system running Ubuntu 26.04 with configured SCSI multipath
devices (mpathX) and DASD devices attached.
2. Ensure both SCSI multipath and DASD have valid filesystems/partitions (DASD
slightly larger or SCSI paths evaluated before mpath).
3. Run the Canonical Certification precheck / tests invoking
find_largest_partition().
#### Expected Behavior
The SCSI multipath device/partition (/dev/mpathX-partY /
/dev/mapper/mpathX-partY) should be recognized and selected as the
target partition, ignoring redundant underlying raw SCSI path devices
(sdX).
#### Actual Behavior
The multipath partition is ignored due to strictly-greater size
comparison against its own raw path, leading to DASD selection or
selection of a raw path member rather than the multipath device.
### Suggested Fix / Recommendation
Make checkbox_support/disk_support.py multipath-aware:
? Preferred: Filter out/ignore raw SCSI path member devices (sdX, sdXN) when a
corresponding mpath device exists, processing only the canonical mpathX-partN
entries.
? Alternative: Treat mpath-type devices similarly to logical volumes (lv),
allowing preference over raw path counterparts when partition sizes are equal
As a temporary workaround we could disable DASDs. But that does not
sound like a proper solution.
** Affects: linux (Ubuntu)
Importance: Undecided
Assignee: Skipper Bug Screeners (skipper-screen-team)
Status: New
** Tags: architecture-s39064 bugnameltc-222905 severity-high
targetmilestone-inin---
** Tags added: architecture-s39064 bugnameltc-222905 severity-high
targetmilestone-inin---
** Changed in: ubuntu
Assignee: (unassigned) => Skipper Bug Screeners (skipper-screen-team)
** Package changed: ubuntu => linux (Ubuntu)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169272
Title:
[UBUNTU 26.04] HW certification: find_largest_partition() returns
wrong disk on s390x with SCSI multipath
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2169272/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs