Page MenuHomeFreeBSD

nvme: Add optimizations for device removal
Needs ReviewPublic

Authored by imp on Feb 11 2021, 1:05 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 25 2023, 4:50 PM
Unknown Object (File)
Dec 21 2023, 11:07 AM
Unknown Object (File)
May 18 2023, 5:15 AM
Unknown Object (File)
Apr 8 2023, 10:34 AM
Unknown Object (File)
Mar 22 2023, 7:56 AM
Unknown Object (File)
Dec 17 2022, 7:03 PM
Subscribers

Details

Reviewers
mav
chs
chuck
Summary

When a device is hot unplugged (surprise removal) we can wind up in the recovery
path. When we detect the device is gone in the recovery path, short-circuit the
rest of recovery and fail the controller.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 36882
Build 33771: arc lint + arc unit

Event Timeline

imp requested review of this revision.Feb 11 2021, 1:05 AM

From past experience, I've noticed that HGST/WDC drives set CFS on power loss before being NVME_GONE. In this case, would the state machine recover as it doesn't check NVME_GONE again?

From past experience, I've noticed that HGST/WDC drives set CFS on power loss before being NVME_GONE. In this case, would the state machine recover as it doesn't check NVME_GONE again?

We check in other places in the driver and should recover.

I've not, however, tested that since I have no real means to do so short of turning off a PHY on a carrier card we us which isn't quite the same thing.