Page MenuHomeFreeBSD

Make all the ata probe* and xpt* routines aprobe* and axpt* respectively.
ClosedPublic

Authored by imp on May 12 2020, 9:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 10, 5:03 AM
Unknown Object (File)
Mon, Dec 2, 3:32 AM
Unknown Object (File)
Nov 1 2024, 9:46 PM
Unknown Object (File)
Oct 2 2024, 1:45 AM
Unknown Object (File)
Oct 1 2024, 10:48 PM
Unknown Object (File)
Sep 30 2024, 10:50 AM
Unknown Object (File)
Sep 30 2024, 3:29 AM
Unknown Object (File)
Sep 29 2024, 7:00 PM
Subscribers

Details

Summary

Often, in traiging core files, one only has a traceback of where a
panic occurred. We have probe* and xpt* routines that live in both the
scsi and ata layers with identical names. To make one or the other
stand out, prefix all the probe and xpt routines in ata with an
'a'. I've left the scsi ones alone since they were there first and are
more numerous. I also rejected using #define to do this as being too
confusing. I chose this method because the CAM name for the probe
device was already 'aprobe'.

Normally, this doesn't matter because file scope protects one from
interfering with the other. However, due to the indirect nature of
CAM's state machine, you don't know if the following traceback is
SCSI or ATA:
xpt_done
probedone
xpt_done_process
xpt_done_td
fork_exit

MFC: 1 week

Test Plan

I've smoke tested this on a few systems, though not on any of the troublesome ones that are dumping core from time to time...

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 31056
Build 28758: arc lint + arc unit

Event Timeline

imp requested review of this revision.May 12 2020, 9:18 PM
imp added reviewers: mav, scottl, ken.
This revision is now accepted and ready to land.May 12 2020, 10:27 PM
cem added a subscriber: cem.

General idea seems reasonable and I don't see any obvious flaws.

What about NVMe and MMC? If they don't have this problem, please say so in the commit message.

What about NVMe and MMC? If they don't have this problem, please say so in the commit message.

mmc and nvme already have unique names.