Page MenuHomeFreeBSD

cam: Add a XPORT_NVMF for NVMe over Fabrics sims
ClosedPublic

Authored by jhb on Apr 9 2024, 11:03 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jun 13, 6:27 PM
Unknown Object (File)
Mon, Jun 10, 5:16 PM
Unknown Object (File)
Sun, Jun 2, 10:53 PM
Unknown Object (File)
Mon, May 27, 2:11 AM
Unknown Object (File)
Tue, May 21, 4:47 PM
Unknown Object (File)
May 3 2024, 2:45 PM
Unknown Object (File)
May 3 2024, 7:27 AM
Unknown Object (File)
Apr 27 2024, 1:24 AM
Subscribers

Details

Summary

Sponsored by: Chelsio Communications

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 57134
Build 54022: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Apr 9 2024, 11:03 PM

Looks good. Two minor nits to consider

sbin/camcontrol/camcontrol.c
5282

Can this be a table lookup instead?

5425

switch statements?

This revision is now accepted and ready to land.Apr 10 2024, 2:50 AM
sbin/camcontrol/camcontrol.c
5282

I wonder actually if I should just move this function to libnvmf. nvmecontrol has a duplicate copy already. I'm sure the compiler compiles it down to a jump table that is stored as a lookup table already in practice.

5425

The surrounding code here is all using if statements so I matched it.

Actually, though the rest of the function does transport first and then protocol, so I should maybe match that. I do wonder how much it matters to keep WITH_NVME here vs just always compiling these bits into camcontrol at this point.

ken added a subscriber: ken.
ken added inline comments.
sbin/camcontrol/camcontrol.c
5425

I think we could probably just get rid of WITH_NVME at this point.

sbin/camcontrol/camcontrol.c
5425

I think so too. nda hasn't been experimental for at least 5 years.
Not sure how that interacts with the rest of the build system, though I'm not entirely sure I care: We don't have WITHOUT_ATA or WITHOUT_SCSI

sbin/camcontrol/camcontrol.c
5425

Today MK_NVME controls this in part because nvmecontrol doesn't build on all platforms, but Warner has a review to fix nvmecontrol, and once that is in I think we should remove MK_NVME and just build these bits unconditionally. I probably will wait for that to happen first before landing this and will fix these up to follow the sensible order instead.

jhb marked an inline comment as done.Apr 16 2024, 6:52 PM

Move nvmf_transport_type to libnvmf

This revision now requires review to proceed.Apr 16 2024, 8:45 PM

Rebase for removal of WITH_NVME

jhb marked 2 inline comments as done.Apr 18 2024, 6:00 PM
This revision is now accepted and ready to land.Apr 18 2024, 10:36 PM
This revision was automatically updated to reflect the committed changes.