git: 95fbdf9df5b0 - stable/14 - ctladm: deprecate the undocumented "port -l" option

From: Alan Somers <asomers_at_FreeBSD.org>
Date: Thu, 19 Sep 2024 20:07:11 UTC
The branch stable/14 has been updated by asomers:

URL: https://cgit.FreeBSD.org/src/commit/?id=95fbdf9df5b0918668517298d3ca77b65361b756

commit 95fbdf9df5b0918668517298d3ca77b65361b756
Author:     Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2024-06-06 21:09:38 +0000
Commit:     Alan Somers <asomers@FreeBSD.org>
CommitDate: 2024-09-19 20:03:39 +0000

    ctladm: deprecate the undocumented "port -l" option
    
    It was mostly removed from the man page in
    9c887a4f86f5fd4f51c23443dc8435e52783a782, but left in the command.
    Fully remove it from the man page, and warn if anybody uses it.  Remove
    it entirely for FreeBSD 16.
    
    PR:             279546
    Reviewed by:    mav
    Sponsored by:   Axcient
    Differential Revision: https://reviews.freebsd.org/D45522
    
    (cherry picked from commit bb95fbf634b3459363a136899e9b241a2f6c49cd)
---
 usr.sbin/ctladm/ctladm.8 |  5 +----
 usr.sbin/ctladm/ctladm.c | 29 +++++++++++++++++++----------
 2 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/usr.sbin/ctladm/ctladm.8 b/usr.sbin/ctladm/ctladm.8
index 6470f5d5a8ee..c8c013852246 100644
--- a/usr.sbin/ctladm/ctladm.8
+++ b/usr.sbin/ctladm/ctladm.8
@@ -590,9 +590,7 @@ The serial number is returned when the error is injected.
 .El
 .It Ic port
 Perform one of several CTL frontend port operations.
-Either get a list of frontend ports
-.Pq Fl l ,
-create a new frontend port
+Either create a new frontend port
 .Pq Fl c ,
 destroy a frontend port
 .Pq Fl r ,
@@ -607,7 +605,6 @@ for a given port.
 One of
 .Fl c ,
 .Fl r ,
-.Fl l ,
 .Fl o ,
 or
 .Fl w
diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c
index 8538d8311332..67beef1e041e 100644
--- a/usr.sbin/ctladm/ctladm.c
+++ b/usr.sbin/ctladm/ctladm.c
@@ -180,7 +180,11 @@ static struct ctladm_opts option_table[] = {
 	{"lunmap", CTLADM_CMD_LUNMAP, CTLADM_ARG_NONE, "p:l:L:"},
 	{"modesense", CTLADM_CMD_MODESENSE, CTLADM_ARG_NEED_TL, "P:S:dlm:c:"},
 	{"modify", CTLADM_CMD_MODIFY, CTLADM_ARG_NONE, "b:l:o:s:"},
+#if (__FreeBSD_version < 1600000)
 	{"port", CTLADM_CMD_PORT, CTLADM_ARG_NONE, "lo:O:d:crp:qt:w:W:x"},
+#else
+	{"port", CTLADM_CMD_PORT, CTLADM_ARG_NONE, "o:O:d:crp:t:w:W:"},
+#endif
 	{"portlist", CTLADM_CMD_PORTLIST, CTLADM_ARG_NONE, "f:ilp:qvx"},
 	{"prin", CTLADM_CMD_PRES_IN, CTLADM_ARG_NEED_TL, "a:"},
 	{"prout", CTLADM_CMD_PRES_OUT, CTLADM_ARG_NEED_TL, "a:k:r:s:"},
@@ -405,7 +409,9 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 	char *driver = NULL;
 	nvlist_t *option_list;
 	ctl_port_type port_type = CTL_PORT_NONE;
+#if (__FreeBSD_version < 1600000)
 	int quiet = 0, xml = 0;
+#endif
 
 	option_list = nvlist_create(0);
 	if (option_list == NULL)
@@ -413,12 +419,22 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 
 	while ((c = getopt(argc, argv, combinedopt)) != -1) {
 		switch (c) {
+#if (__FreeBSD_version < 1600000)
 		case 'l':
+			warnx("ctladm port -l is deprecated.  "
+			    "Use ctladm portlist instead");
 			if (port_mode != CCTL_PORT_MODE_NONE)
 				goto bailout_badarg;
 
 			port_mode = CCTL_PORT_MODE_LIST;
 			break;
+		case 'q':
+			quiet = 1;
+			break;
+		case 'x':
+			xml = 1;
+			break;
+#endif
 		case 'c':
 			port_mode = CCTL_PORT_MODE_CREATE;
 			break;
@@ -478,9 +494,6 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 		case 'p':
 			targ_port = strtol(optarg, NULL, 0);
 			break;
-		case 'q':
-			quiet = 1;
-			break;
 		case 't': {
 			ctladm_optret optret;
 			ctladm_cmdargs argnum;
@@ -524,9 +537,6 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 			wwpn = strtoull(optarg, NULL, 0);
 			wwpn_set = 1;
 			break;
-		case 'x':
-			xml = 1;
-			break;
 		}
 	}
 
@@ -558,6 +568,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 	entry.targ_port = targ_port;
 
 	switch (port_mode) {
+#if (__FreeBSD_version < 1600000)
 	case CCTL_PORT_MODE_LIST: {
 		char opts[] = "xq";
 		char argx[] = "-x";
@@ -574,6 +585,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 		cctl_portlist(fd, argcx, argvx, opts);
 		break;
 	}
+#endif
 	case CCTL_PORT_MODE_REMOVE:
 	case CCTL_PORT_MODE_CREATE: {
 		bzero(&req, sizeof(req));
@@ -675,7 +687,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt)
 		fprintf(stdout, "Front End Ports disabled\n");
 		break;
 	default:
-		warnx("%s: one of -l, -o or -w/-W must be specified", __func__);
+		warnx("%s: one of -c, -r, -o or -w/-W must be specified", __func__);
 		retval = 1;
 		goto bailout;
 		break;
@@ -3954,7 +3966,6 @@ usage(int error)
 "port options:\n"
 "-c                       : create new ioctl or iscsi frontend port\n"
 "-d                       : specify ioctl or iscsi frontend type\n"
-"-l                       : list frontend ports\n"
 "-o on|off                : turn frontend ports on or off\n"
 "-O pp|vp                 : create new frontend port using pp and/or vp\n"
 "-w wwnn                  : set WWNN for one frontend\n"
@@ -3962,8 +3973,6 @@ usage(int error)
 "-t port_type             : specify fc, scsi, ioctl, internal frontend type\n"
 "-p targ_port             : specify target port number\n"
 "-r                       : remove frontend port\n" 
-"-q                       : omit header in list output\n"
-"-x                       : output port list in XML format\n"
 "portlist options:\n"
 "-f frontend              : specify frontend type\n"
 "-i                       : report target and initiators addresses\n"