svn commit: r358493 - head/sys/dev/iscsi_initiator

Warner Losh imp at FreeBSD.org
Sun Mar 1 18:18:04 UTC 2020


Author: imp
Date: Sun Mar  1 18:18:01 2020
New Revision: 358493
URL: https://svnweb.freebsd.org/changeset/base/358493

Log:
  Remove support for FreeBSD 4-7 from the iscsi initiator.
  
  Also, inline/remove now empty or trivial macros. CAM has evolved enough this
  code couldn't work there anyway, and the API sweeep commits made since then were
  made unconditional.

Modified:
  head/sys/dev/iscsi_initiator/isc_cam.c
  head/sys/dev/iscsi_initiator/isc_sm.c
  head/sys/dev/iscsi_initiator/isc_soc.c
  head/sys/dev/iscsi_initiator/isc_subr.c
  head/sys/dev/iscsi_initiator/iscsi_subr.c
  head/sys/dev/iscsi_initiator/iscsivar.h

Modified: head/sys/dev/iscsi_initiator/isc_cam.c
==============================================================================
--- head/sys/dev/iscsi_initiator/isc_cam.c	Sun Mar  1 18:17:56 2020	(r358492)
+++ head/sys/dev/iscsi_initiator/isc_cam.c	Sun Mar  1 18:18:01 2020	(r358493)
@@ -37,10 +37,8 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/callout.h>
-#if __FreeBSD_version >= 700000
 #include <sys/lock.h>
 #include <sys/mutex.h>
-#endif
 #include <sys/conf.h>
 #include <sys/systm.h>
 #include <sys/malloc.h>
@@ -93,16 +91,12 @@ static __inline int
 _scsi_encap(struct cam_sim *sim, union ccb *ccb)
 {
      int		ret;
-
-#if __FreeBSD_version < 700000
-     ret = scsi_encap(sim, ccb);
-#else
      isc_session_t	*sp = cam_sim_softc(sim);
 
      mtx_unlock(&sp->cam_mtx);
      ret = scsi_encap(sim, ccb);
      mtx_lock(&sp->cam_mtx);
-#endif
+
      return ret;
 }
 
@@ -260,11 +254,7 @@ ic_action(struct cam_sim *sim, union ccb *ccb)
 	  ccb_h->status = CAM_REQ_INVALID;
 	  break;
      }
-#if __FreeBSD_version < 700000
-     XPT_DONE(sp, ccb);
-#else
      xpt_done(ccb);
-#endif
      return;
 }
 
@@ -297,7 +287,6 @@ ic_destroy(isc_session_t *sp )
      if(sp->cam_path != NULL) {
 	  sdebug(2, "name=%s unit=%d",
 		 cam_sim_name(sp->cam_sim), cam_sim_unit(sp->cam_sim));
-	  CAM_LOCK(sp);
 #if 0
 	  xpt_async(AC_LOST_DEVICE, sp->cam_path, NULL);
 #else
@@ -307,7 +296,6 @@ ic_destroy(isc_session_t *sp )
 	  xpt_bus_deregister(cam_sim_path(sp->cam_sim));
 	  cam_sim_free(sp->cam_sim, TRUE /*free_devq*/);
 
-	  CAM_UNLOCK(sp);
 	  sdebug(2, "done");
      }
 }
@@ -323,42 +311,28 @@ ic_init(isc_session_t *sp)
      if((devq = cam_simq_alloc(256)) == NULL)
 	  return ENOMEM;
 
-#if __FreeBSD_version >= 700000
      mtx_init(&sp->cam_mtx, "isc-cam", NULL, MTX_DEF);
-#else
-     isp->cam_mtx = Giant;
-#endif
      sim = cam_sim_alloc(ic_action,
 			 ic_poll,
 			 "iscsi",
 			 sp,
 			 sp->sid,	// unit
-#if __FreeBSD_version >= 700000
 			 &sp->cam_mtx,
-#endif
 			 1,		// max_dev_transactions
 			 0,		// max_tagged_dev_transactions
 			 devq);
      if(sim == NULL) {
 	  cam_simq_free(devq);
-#if __FreeBSD_version >= 700000
 	  mtx_destroy(&sp->cam_mtx);
-#endif
 	  return ENXIO;
      }
 
-     CAM_LOCK(sp);
      if(xpt_bus_register(sim,
-#if __FreeBSD_version >= 700000
 			 NULL,
-#endif
 			 0/*bus_number*/) != CAM_SUCCESS) {
 
 	  cam_sim_free(sim, /*free_devq*/TRUE);
-	  CAM_UNLOCK(sp);
-#if __FreeBSD_version >= 700000
 	  mtx_destroy(&sp->cam_mtx);
-#endif
 	  return ENXIO;
      }
      sp->cam_sim = sim;
@@ -366,13 +340,9 @@ ic_init(isc_session_t *sp)
 	    CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) {
 	  xpt_bus_deregister(cam_sim_path(sp->cam_sim));
 	  cam_sim_free(sim, /*free_devq*/TRUE);
-	  CAM_UNLOCK(sp);
-#if __FreeBSD_version >= 700000
 	  mtx_destroy(&sp->cam_mtx);
-#endif
 	  return ENXIO;
      }
-     CAM_UNLOCK(sp);
 
      sdebug(1, "cam subsystem initialized");
 

Modified: head/sys/dev/iscsi_initiator/isc_sm.c
==============================================================================
--- head/sys/dev/iscsi_initiator/isc_sm.c	Sun Mar  1 18:17:56 2020	(r358492)
+++ head/sys/dev/iscsi_initiator/isc_sm.c	Sun Mar  1 18:18:01 2020	(r358493)
@@ -514,7 +514,7 @@ proc_out(isc_session_t *sp)
 		    if(pq->ccb) {
 			 xdebug("back to cam");
 			 pq->ccb->ccb_h.status |= CAM_REQUEUE_REQ; // some better error?
-			 XPT_DONE(sp, pq->ccb);
+			 xpt_done(sp, pq->ccb);
 			 pdu_free(sp->isc, pq);
 		    }
 		    else
@@ -571,17 +571,11 @@ ism_out(void *vp)
      wakeup(&sp->soc);
      wakeup(sp); // XXX: do we need this one?
 
-#if __FreeBSD_version >= 700000
      destroy_dev(sp->dev);
-#endif
 
      debug(3, "terminated sp=%p sp->sid=%d", sp, sp->sid);
 
-#if __FreeBSD_version >= 800000
      kproc_exit(0);
-#else
-     kthread_exit(0);
-#endif
 }
 
 #if 0
@@ -712,10 +706,6 @@ ism_stop(isc_session_t *sp)
      sc->nsess--;
      mtx_unlock(&sc->isc_mtx);
 
-#if __FreeBSD_version < 700000
-     destroy_dev(sp->dev);
-#endif
-
      mtx_destroy(&sp->rsp_mtx);
      mtx_destroy(&sp->rsv_mtx);
      mtx_destroy(&sp->hld_mtx);
@@ -756,9 +746,5 @@ ism_start(isc_session_t *sp)
 
      debug(4, "starting ism_proc: sp->sid=%d", sp->sid);
 
-#if __FreeBSD_version >= 800000
      return kproc_create(ism_out, sp, &sp->stp, 0, 0, "isc_out %d", sp->sid);
-#else
-     return kthread_create(ism_out, sp, &sp->stp, 0, 0, "isc_out %d", sp->sid);
-#endif
-}
+a}

Modified: head/sys/dev/iscsi_initiator/isc_soc.c
==============================================================================
--- head/sys/dev/iscsi_initiator/isc_soc.c	Sun Mar  1 18:17:56 2020	(r358492)
+++ head/sys/dev/iscsi_initiator/isc_soc.c	Sun Mar  1 18:18:01 2020	(r358493)
@@ -338,21 +338,13 @@ so_getbhs(isc_session_t *sp)
 
      if(error)
 	  debug(2, 
-#if __FreeBSD_version > 800000
 		"error=%d so_error=%d uio->uio_resid=%zd iov.iov_len=%zd",
-#else
-		"error=%d so_error=%d uio->uio_resid=%d iov.iov_len=%zd",
-#endif
 		error,
 		sp->soc->so_error, uio->uio_resid, iov->iov_len);
      if(!error && (uio->uio_resid > 0)) {
 	  error = EPIPE; // was EAGAIN
 	  debug(2,
-#if __FreeBSD_version > 800000
 		"error=%d so_error=%d uio->uio_resid=%zd iov.iov_len=%zd so_state=%x",
-#else
-		"error=%d so_error=%d uio->uio_resid=%d iov.iov_len=%zd so_state=%x",
-#endif
 		error,
 		sp->soc->so_error, uio->uio_resid, iov->iov_len, sp->soc->so_state);
      }
@@ -411,11 +403,7 @@ so_recv(isc_session_t *sp, pduq_t *pq)
 	  // XXX: this needs work! it hangs iscontrol
 	  if(error || uio->uio_resid) {
 	       debug(2, 
-#if __FreeBSD_version > 800000
 		     "len=%d error=%d uio->uio_resid=%zd",
-#else
-		     "len=%d error=%d uio->uio_resid=%d",
-#endif
 		     len, error, uio->uio_resid);
 	       goto out;
 	  }
@@ -648,11 +636,7 @@ isc_in(void *vp)
      mtx_unlock(&sp->io_mtx);
 
      sdebug(2, "dropped ISC_CON_RUNNING");
-#if __FreeBSD_version >= 800000
      kproc_exit(0);
-#else
-     kthread_exit(0);
-#endif
 }
 
 void
@@ -692,10 +676,5 @@ isc_start_receiver(isc_session_t *sp)
      debug_called(8);
 
      sp->flags |= ISC_CON_RUN | ISC_LINK_UP;
-#if __FreeBSD_version >= 800000
-     kproc_create
-#else
-     kthread_create
-#endif
-	  (isc_in, sp, &sp->soc_proc, 0, 0, "isc_in %d", sp->sid);
+     kproc_create(isc_in, sp, &sp->soc_proc, 0, 0, "isc_in %d", sp->sid);
 }

Modified: head/sys/dev/iscsi_initiator/isc_subr.c
==============================================================================
--- head/sys/dev/iscsi_initiator/isc_subr.c	Sun Mar  1 18:17:56 2020	(r358492)
+++ head/sys/dev/iscsi_initiator/isc_subr.c	Sun Mar  1 18:18:01 2020	(r358493)
@@ -81,104 +81,6 @@ i_strdupin(char *s, size_t maxlen)
 
      return q;
 }
-#if __FreeBSD_version < 800000
-/*****************************************************************/
-/*                                                               */
-/* CRC LOOKUP TABLE                                              */
-/* ================                                              */
-/* The following CRC lookup table was generated automagically    */
-/* by the Rocksoft^tm Model CRC Algorithm Table Generation       */
-/* Program V1.0 using the following model parameters:            */
-/*                                                               */
-/*    Width   : 4 bytes.                                         */
-/*    Poly    : 0x1EDC6F41L                                      */
-/*    Reverse : TRUE.                                            */
-/*                                                               */
-/* For more information on the Rocksoft^tm Model CRC Algorithm,  */
-/* see the document titled "A Painless Guide to CRC Error        */
-/* Detection Algorithms" by Ross Williams                        */
-/* (ross at guest.adelaide.edu.au.). This document is likely to be  */
-/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft".        */
-/*                                                               */
-/*****************************************************************/
-
-static uint32_t crc32Table[256] = {
-    0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L,
-    0xC79A971FL, 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL,
-    0x8AD958CFL, 0x78B2DBCCL, 0x6BE22838L, 0x9989AB3BL,
-    0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L, 0x5E133C24L,
-    0x105EC76FL, 0xE235446CL, 0xF165B798L, 0x030E349BL,
-    0xD7C45070L, 0x25AFD373L, 0x36FF2087L, 0xC494A384L,
-    0x9A879FA0L, 0x68EC1CA3L, 0x7BBCEF57L, 0x89D76C54L,
-    0x5D1D08BFL, 0xAF768BBCL, 0xBC267848L, 0x4E4DFB4BL,
-    0x20BD8EDEL, 0xD2D60DDDL, 0xC186FE29L, 0x33ED7D2AL,
-    0xE72719C1L, 0x154C9AC2L, 0x061C6936L, 0xF477EA35L,
-    0xAA64D611L, 0x580F5512L, 0x4B5FA6E6L, 0xB93425E5L,
-    0x6DFE410EL, 0x9F95C20DL, 0x8CC531F9L, 0x7EAEB2FAL,
-    0x30E349B1L, 0xC288CAB2L, 0xD1D83946L, 0x23B3BA45L,
-    0xF779DEAEL, 0x05125DADL, 0x1642AE59L, 0xE4292D5AL,
-    0xBA3A117EL, 0x4851927DL, 0x5B016189L, 0xA96AE28AL,
-    0x7DA08661L, 0x8FCB0562L, 0x9C9BF696L, 0x6EF07595L,
-    0x417B1DBCL, 0xB3109EBFL, 0xA0406D4BL, 0x522BEE48L,
-    0x86E18AA3L, 0x748A09A0L, 0x67DAFA54L, 0x95B17957L,
-    0xCBA24573L, 0x39C9C670L, 0x2A993584L, 0xD8F2B687L,
-    0x0C38D26CL, 0xFE53516FL, 0xED03A29BL, 0x1F682198L,
-    0x5125DAD3L, 0xA34E59D0L, 0xB01EAA24L, 0x42752927L,
-    0x96BF4DCCL, 0x64D4CECFL, 0x77843D3BL, 0x85EFBE38L,
-    0xDBFC821CL, 0x2997011FL, 0x3AC7F2EBL, 0xC8AC71E8L,
-    0x1C661503L, 0xEE0D9600L, 0xFD5D65F4L, 0x0F36E6F7L,
-    0x61C69362L, 0x93AD1061L, 0x80FDE395L, 0x72966096L,
-    0xA65C047DL, 0x5437877EL, 0x4767748AL, 0xB50CF789L,
-    0xEB1FCBADL, 0x197448AEL, 0x0A24BB5AL, 0xF84F3859L,
-    0x2C855CB2L, 0xDEEEDFB1L, 0xCDBE2C45L, 0x3FD5AF46L,
-    0x7198540DL, 0x83F3D70EL, 0x90A324FAL, 0x62C8A7F9L,
-    0xB602C312L, 0x44694011L, 0x5739B3E5L, 0xA55230E6L,
-    0xFB410CC2L, 0x092A8FC1L, 0x1A7A7C35L, 0xE811FF36L,
-    0x3CDB9BDDL, 0xCEB018DEL, 0xDDE0EB2AL, 0x2F8B6829L,
-    0x82F63B78L, 0x709DB87BL, 0x63CD4B8FL, 0x91A6C88CL,
-    0x456CAC67L, 0xB7072F64L, 0xA457DC90L, 0x563C5F93L,
-    0x082F63B7L, 0xFA44E0B4L, 0xE9141340L, 0x1B7F9043L,
-    0xCFB5F4A8L, 0x3DDE77ABL, 0x2E8E845FL, 0xDCE5075CL,
-    0x92A8FC17L, 0x60C37F14L, 0x73938CE0L, 0x81F80FE3L,
-    0x55326B08L, 0xA759E80BL, 0xB4091BFFL, 0x466298FCL,
-    0x1871A4D8L, 0xEA1A27DBL, 0xF94AD42FL, 0x0B21572CL,
-    0xDFEB33C7L, 0x2D80B0C4L, 0x3ED04330L, 0xCCBBC033L,
-    0xA24BB5A6L, 0x502036A5L, 0x4370C551L, 0xB11B4652L,
-    0x65D122B9L, 0x97BAA1BAL, 0x84EA524EL, 0x7681D14DL,
-    0x2892ED69L, 0xDAF96E6AL, 0xC9A99D9EL, 0x3BC21E9DL,
-    0xEF087A76L, 0x1D63F975L, 0x0E330A81L, 0xFC588982L,
-    0xB21572C9L, 0x407EF1CAL, 0x532E023EL, 0xA145813DL,
-    0x758FE5D6L, 0x87E466D5L, 0x94B49521L, 0x66DF1622L,
-    0x38CC2A06L, 0xCAA7A905L, 0xD9F75AF1L, 0x2B9CD9F2L,
-    0xFF56BD19L, 0x0D3D3E1AL, 0x1E6DCDEEL, 0xEC064EEDL,
-    0xC38D26C4L, 0x31E6A5C7L, 0x22B65633L, 0xD0DDD530L,
-    0x0417B1DBL, 0xF67C32D8L, 0xE52CC12CL, 0x1747422FL,
-    0x49547E0BL, 0xBB3FFD08L, 0xA86F0EFCL, 0x5A048DFFL,
-    0x8ECEE914L, 0x7CA56A17L, 0x6FF599E3L, 0x9D9E1AE0L,
-    0xD3D3E1ABL, 0x21B862A8L, 0x32E8915CL, 0xC083125FL,
-    0x144976B4L, 0xE622F5B7L, 0xF5720643L, 0x07198540L,
-    0x590AB964L, 0xAB613A67L, 0xB831C993L, 0x4A5A4A90L,
-    0x9E902E7BL, 0x6CFBAD78L, 0x7FAB5E8CL, 0x8DC0DD8FL,
-    0xE330A81AL, 0x115B2B19L, 0x020BD8EDL, 0xF0605BEEL,
-    0x24AA3F05L, 0xD6C1BC06L, 0xC5914FF2L, 0x37FACCF1L,
-    0x69E9F0D5L, 0x9B8273D6L, 0x88D28022L, 0x7AB90321L,
-    0xAE7367CAL, 0x5C18E4C9L, 0x4F48173DL, 0xBD23943EL,
-    0xF36E6F75L, 0x0105EC76L, 0x12551F82L, 0xE03E9C81L,
-    0x34F4F86AL, 0xC69F7B69L, 0xD5CF889DL, 0x27A40B9EL,
-    0x79B737BAL, 0x8BDCB4B9L, 0x988C474DL, 0x6AE7C44EL,
-    0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L, 0xAD7D5351L
-};
-
-static __inline int
-calculate_crc32c(uint32_t crc, const void *buf, size_t size)
-{
-     const uint8_t *p = buf;
-
-     while (size--)
-	  crc = crc32Table[(crc ^ *p++) & 0xff] ^ (crc >> 8);
-     return crc;
-}
-#endif
 
 static uint32_t
 i_crc32c(const void *buf, size_t size, uint32_t crc)

Modified: head/sys/dev/iscsi_initiator/iscsi_subr.c
==============================================================================
--- head/sys/dev/iscsi_initiator/iscsi_subr.c	Sun Mar  1 18:17:56 2020	(r358492)
+++ head/sys/dev/iscsi_initiator/iscsi_subr.c	Sun Mar  1 18:18:01 2020	(r358493)
@@ -106,11 +106,7 @@ iscsi_r2t(isc_session_t *sp, pduq_t *opq, pduq_t *pq)
 
 			 while((wpq = pdu_alloc(sp->isc, M_NOWAIT)) == NULL) {
 			      sdebug(2, "waiting...");
-#if __FreeBSD_version >= 700000
 			      pause("isc_r2t", 5*hz);
-#else
-			      tsleep(sp->isc, 0, "isc_r2t", 5*hz);
-#endif
 			 }
 		    }
 		    cmd = &wpq->pdu.ipdu.data_out;
@@ -252,7 +248,7 @@ _scsi_done(isc_session_t *sp, u_int response, u_int st
      }
      sdebug(5, "ccb_h->status=%x", ccb_h->status);
 
-     XPT_DONE(sp, ccb);
+     xpt_done(sp, ccb);
 }
 
 /*
@@ -412,7 +408,7 @@ iscsi_reject(isc_session_t *sp, pduq_t *opq, pduq_t *p
      debug_called(8);
      //XXX: check RFC 10.17.1 (page 176)
      ccb->ccb_h.status = CAM_REQ_ABORTED;
-     XPT_DONE(sp, ccb);
+     xpt_done(sp, ccb);
  
      pdu_free(sp->isc, opq);
 }
@@ -471,11 +467,7 @@ scsi_encap(struct cam_sim *sim, union ccb *ccb)
 		 sp->isc->npdu_max, sp->isc->npdu_alloc);
 	  while((pq = pdu_alloc(sp->isc, M_NOWAIT)) == NULL) {
 	       sdebug(2, "waiting...");
-#if __FreeBSD_version >= 700000
 	       pause("isc_encap", 5*hz);
-#else
-	       tsleep(sp->isc, 0, "isc_encap", 5*hz);
-#endif
 	  }
      }
      cmd = &pq->pdu.ipdu.scsi_req;

Modified: head/sys/dev/iscsi_initiator/iscsivar.h
==============================================================================
--- head/sys/dev/iscsi_initiator/iscsivar.h	Sun Mar  1 18:17:56 2020	(r358492)
+++ head/sys/dev/iscsi_initiator/iscsivar.h	Sun Mar  1 18:18:01 2020	(r358493)
@@ -268,39 +268,6 @@ int	iscsi_requeue(isc_session_t *sp);
 /*
  | inlines
  */
-#ifdef _CAM_CAM_XPT_SIM_H
-
-#if __FreeBSD_version <  600000
-#define CAM_LOCK(arg)
-#define CAM_ULOCK(arg)
-
-static __inline void
-XPT_DONE(isc_session_t *sp, union ccb *ccb)
-{
-     mtx_lock(&Giant);
-     xpt_done(ccb);
-     mtx_unlock(&Giant);
-}
-#elif __FreeBSD_version >= 700000
-#define CAM_LOCK(arg)	mtx_lock(&arg->cam_mtx)
-#define CAM_UNLOCK(arg)	mtx_unlock(&arg->cam_mtx)
-
-static __inline void
-XPT_DONE(isc_session_t *sp, union ccb *ccb)
-{
-     CAM_LOCK(sp);
-     xpt_done(ccb);
-     CAM_UNLOCK(sp);
-}
-#else
-//__FreeBSD_version >= 600000
-#define CAM_LOCK(arg)
-#define CAM_UNLOCK(arg)
-#define XPT_DONE(ignore, arg)	xpt_done(arg)
-#endif
-
-#endif /* _CAM_CAM_XPT_SIM_H */
-
 static __inline pduq_t *
 pdu_alloc(struct isc_softc *isc, int wait)
 {


More information about the svn-src-head mailing list