Page MenuHomeFreeBSD

ctlstat: move to iSCSI package
ClosedPublic

Authored by ivy on Sat, May 10, 7:58 PM.
Tags
None
Referenced Files
F118681399: D50287.diff
Sat, May 31, 6:12 PM
Unknown Object (File)
Sat, May 31, 1:05 AM
Unknown Object (File)
Wed, May 28, 1:35 AM
Unknown Object (File)
Sun, May 25, 1:55 AM
Unknown Object (File)
Wed, May 21, 3:50 PM
Subscribers

Details

Summary

ctlstat is for ctld, which is iSCSI, so put it in the right package.

Diff Detail

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

Event Timeline

ivy requested review of this revision.Sat, May 10, 7:58 PM

This is not specific to ctld, instead it is for the ctl(4) drivers in the kernel which now include NVMeoF support, not just iSCSI. There is also a local SCSI target frontend for ctl(4) that isn't iSCSI. As for ctld, while it only supports iSCSI and physical target ports (think Fibre Channel), I have WIP patches to add NVMeoF support to it. However, both ctlstat and ctladm already work with the CTL target created by nvmfd(8) today. I'm not sure what package ctlstat/ctladm/ctld belong in, but it really isn't iscsi. camcontrol is in runtime which is too generic for these. camdd(8) is also not assigned a package. Maybe a "cam" package makes sense for ctl* and camdd (but apparently not camcontrol)? Or maybe a ctl package for ctl*?

(On a related note, why is nvmecontrol in an nvme-tools package rather than just "nvme"? The use of the "-tools" suffix appears to be arbitrary and inconsistent in package names.)

i am not sure how specific we want to be here. currently the FreeBSD-iscsi package includes this:

FreeBSD-iscsi-15.snap20250516172908:
	/etc/rc.d/ctld
	/etc/rc.d/iscsictl
	/etc/rc.d/iscsid
	/usr/bin/iscsictl
	/usr/sbin/ctladm
	/usr/sbin/ctld
	/usr/sbin/iscsid

i suggest creating a new package called FreeBSD-ctl and moving ctld, ctladm and ctlstat there. FreeBSD-iscsi can remain as the package for the iSCSI initiator.

this would support three discrete workloads:

  • user wants an iSCSI initiator -> pkg in FreeBSD-iscsi
  • user wants an iSCSI (or NVMoF, etc.) target -> pkg in FreeBSD-ctl
  • user wants to manage hir local NVMe targets -> pkg in FreeBSD-nvme-tools

does this seem reasonable, and if so is there anything else we want to move at the same time?

update based on previous suggestion

manu added a subscriber: manu.

You might want to drop a note in UPDATING since people who wants ctld will need to install this new package.

This revision is now accepted and ready to land.Wed, May 21, 6:14 AM

You might want to drop a note in UPDATING since people who wants ctld will need to install this new package.

i will do that when i land this and also send a heads up to pkgbase@, current@

In D50287#1151459, @ivy wrote:

You might want to drop a note in UPDATING since people who wants ctld will need to install this new package.

i will do that when i land this and also send a heads up to pkgbase@, current@

Awesome, thanks.

This looks great to me, thanks!