[PATCH v6 0/1] scsi: sas: fix mkfs.xfs failure due to bogus optimal_io_size

From: Ionut Nechita (Wind River)

Date: Thu Mar 26 2026 - 05:01:24 EST


From: Ionut Nechita <ionut.nechita@xxxxxxxxxxxxx>

v6 (per John Garry's review of v5):
- Replaced kerneldoc (/**) with a regular comment — function is static.
- Condensed the comment to a single paragraph.
- Removed WARN_ONCE for opt > max — not the driver's job.
- Combined the !opt and opt == max checks into: if (!opt || opt >= max).
- Apply rounddown_pow_of_two() to min(opt_sectors, max_sectors) instead
of just opt, since max_sectors can be any value.
- Restructured as sas_dma_setup_opt_sectors(struct Scsi_Host *shost)
with the dma_mask check moved inside, removing the need for a
separate dma_dev variable in sas_host_setup().

v5 (per Damien Le Moal's and James Bottomley's review of v4):
- Expanded kdoc, inline comment at opt == max, guard for opt == 0
before rounddown_pow_of_two, trimmed Cc list.

v4 (per Damien Le Moal's review of v3):
- WARN_ONCE for opt > max, min_t overflow protection, reformatted
call site.

v3 (per Christoph Hellwig's review of v2):
- Extracted the opt_sectors logic into a dedicated helper function.
- Added rounddown_pow_of_two().

v2:
- Dropped the dma_opt_mapping_size() change per Robin Murphy's
feedback. Single patch fixing scsi_transport_sas.c.

Test environment:
- Dell PowerEdge R750
- SAS Controller: Broadcom/LSI mpt3sas (SAS3816, FW 33.15.00.00)
- Disks: SAMSUNG MZILT800HBHQ0D3 (800GB SCSI SAS SSD)
- Kernel: 6.12.0-1-amd64 with intel_iommu=off
- IOMMU: Disabled (DMAR: IOMMU disabled), default domain: Passthrough

Based on linux-next (next-20260325).

Link: https://lore.kernel.org/lkml/20260316203956.64515-1-ionut.nechita@xxxxxxxxxxxxx/ [v1]
Link: https://lore.kernel.org/all/20260318074314.17372-1-ionut.nechita@xxxxxxxxxxxxx/ [v2]
Link: https://lore.kernel.org/all/20260318200532.51232-1-ionut.nechita@xxxxxxxxxxxxx/ [v3]
Link: https://lore.kernel.org/lkml/20260319083954.21056-1-ionut.nechita@xxxxxxxxxxxxx/ [v4]
Link: https://lore.kernel.org/linux-scsi/20260320081429.42106-1-ionut.nechita@xxxxxxxxxxxxx/ [v5]

Ionut Nechita (Wind River) (1):
scsi: sas: skip opt_sectors when DMA reports no real optimization hint

drivers/scsi/scsi_transport_sas.c | 38 +++++++++++++++++++++++++++----
1 file changed, 33 insertions(+), 5 deletions(-)

--
2.53.0