Page MenuHomeFreeBSD

nvme: limit namespace character-device I/O size
AcceptedPublic

Authored by seuros on Mon, Aug 24, 6:19 PM.
Tags
None
Referenced Files
F168554461: D59152.diff
Sat, Aug 29, 12:16 AM
F168552728: D59152.id184988.diff
Sat, Aug 29, 12:02 AM
F168532408: D59152.diff
Fri, Aug 28, 9:25 PM
F168524175: D59152.diff
Fri, Aug 28, 8:21 PM
F168503282: D59152.id.diff
Fri, Aug 28, 5:36 PM
Unknown Object (File)
Fri, Aug 28, 3:18 PM
Unknown Object (File)
Thu, Aug 27, 11:39 PM
Unknown Object (File)
Thu, Aug 27, 3:23 PM
Subscribers

Details

Reviewers
adrian
imp
ngie
Summary

The namespace character device does not initialize si_iosize_max, so
physio falls back to DFLTPHYS and can produce a bio larger than the
qpair payload DMA tag on a controller whose maximum transfer size is
below 64KB. Such a bio fails DMA mapping and is never submitted.

MFC after: 2 weeks

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 76111
Build 72994: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Mon, Aug 24, 10:27 PM
This revision now requires review to proceed.Tue, Aug 25, 6:34 AM
ngie added a subscriber: ngie.

Could this be reproed using nvmecontrol reset? How can one confirm that the new value is being set properly? Asking as part of a "brain-storm" for a regression test of some kind.
Approved by: ngie (co-mentor)

This revision is now accepted and ready to land.Sat, Aug 29, 2:02 AM