svn commit: r264525 - in head/sys: cam/ctl dev/iscsi

Edward Tomasz Napierala trasz at FreeBSD.org
Wed Apr 16 10:18:45 UTC 2014


Author: trasz
Date: Wed Apr 16 10:18:44 2014
New Revision: 264525
URL: http://svnweb.freebsd.org/changeset/base/264525

Log:
  Add some stuff to make it easier to figure out for the system administrator
  whether the ICL_KERNEL_PROXY stuff got compiled in correctly.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/cam/ctl/ctl_frontend_iscsi.c
  head/sys/cam/ctl/ctl_ioctl.h
  head/sys/dev/iscsi/iscsi.c

Modified: head/sys/cam/ctl/ctl_frontend_iscsi.c
==============================================================================
--- head/sys/cam/ctl/ctl_frontend_iscsi.c	Wed Apr 16 10:06:37 2014	(r264524)
+++ head/sys/cam/ctl/ctl_frontend_iscsi.c	Wed Apr 16 10:18:44 2014	(r264525)
@@ -75,6 +75,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/socketvar.h>
 #endif
 
+#ifdef ICL_KERNEL_PROXY
+FEATURE(cfiscsi_kernel_proxy, "iSCSI target built with ICL_KERNEL_PROXY");
+#endif
+
 static MALLOC_DEFINE(M_CFISCSI, "cfiscsi", "Memory used for CTL iSCSI frontend");
 static uma_zone_t cfiscsi_data_wait_zone;
 
@@ -1960,7 +1964,18 @@ cfiscsi_ioctl(struct cdev *dev,
 	case CTL_ISCSI_CLOSE:
 		cfiscsi_ioctl_close(ci);
 		break;
-#endif /* ICL_KERNEL_PROXY */
+#else
+	case CTL_ISCSI_LISTEN:
+	case CTL_ISCSI_ACCEPT:
+	case CTL_ISCSI_SEND:
+	case CTL_ISCSI_RECEIVE:
+	case CTL_ISCSI_CLOSE:
+		ci->status = CTL_ISCSI_ERROR;
+		snprintf(ci->error_str, sizeof(ci->error_str),
+		    "%s: CTL compiled without ICL_KERNEL_PROXY",
+		    __func__);
+		break;
+#endif /* !ICL_KERNEL_PROXY */
 	default:
 		ci->status = CTL_ISCSI_ERROR;
 		snprintf(ci->error_str, sizeof(ci->error_str),

Modified: head/sys/cam/ctl/ctl_ioctl.h
==============================================================================
--- head/sys/cam/ctl/ctl_ioctl.h	Wed Apr 16 10:06:37 2014	(r264524)
+++ head/sys/cam/ctl/ctl_ioctl.h	Wed Apr 16 10:18:44 2014	(r264525)
@@ -617,7 +617,11 @@ typedef enum {
 	CTL_ISCSI_LIST,
 	CTL_ISCSI_LOGOUT,
 	CTL_ISCSI_TERMINATE,
-#ifdef ICL_KERNEL_PROXY
+#if defined(ICL_KERNEL_PROXY) || 1
+	/*
+	 * We actually need those in all cases, but leave the ICL_KERNEL_PROXY,
+	 * to remember to remove them along with rest of proxy code, eventually.
+	 */
 	CTL_ISCSI_LISTEN,
 	CTL_ISCSI_ACCEPT,
 	CTL_ISCSI_SEND,

Modified: head/sys/dev/iscsi/iscsi.c
==============================================================================
--- head/sys/dev/iscsi/iscsi.c	Wed Apr 16 10:06:37 2014	(r264524)
+++ head/sys/dev/iscsi/iscsi.c	Wed Apr 16 10:18:44 2014	(r264525)
@@ -66,6 +66,10 @@
 #include <sys/socketvar.h>
 #endif
 
+#ifdef ICL_KERNEL_PROXY
+FEATURE(iscsi_kernel_proxy, "iSCSI initiator built with ICL_KERNEL_PROXY");
+#endif
+
 /*
  * XXX: This is global so the iscsi_unload() can access it.
  * 	Think about how to do this properly.


More information about the svn-src-all mailing list