Page MenuHomeFreeBSD

nvme: Lock when processing an abort completion command.
ClosedPublic

Authored by imp on Jul 18 2024, 6:12 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 10, 3:51 PM
Unknown Object (File)
Sun, Nov 10, 3:51 PM
Unknown Object (File)
Wed, Nov 6, 5:33 PM
Unknown Object (File)
Wed, Nov 6, 5:33 PM
Unknown Object (File)
Wed, Nov 6, 5:09 PM
Unknown Object (File)
Sep 30 2024, 6:24 PM
Unknown Object (File)
Sep 28 2024, 12:47 AM
Unknown Object (File)
Sep 24 2024, 12:11 AM
Subscribers

Details

Summary

When processing an abort completion command, we have to lock. But we
have to lock the qpair of the original transaction (not the abort we're
completing). We do this to avoid races with checking the completion id
to tr mapping array, as well as to manually complete it.

Note: we don't handle the completion status of 'Asked to abort too many
transactions at once.' That will be fixed on subsequent commits. Add a
note to that effect for now since it's a harder problem to solve.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable